if(log.isInfoEnabled()) log.info("event is " + evt);
if(log.isDebugEnabled()) { log.debug(evt.toString()); }
    public synchronized void down(Event evt) {        Message      msg;        TunnelHeader hdr;         if(log.isInfoEnabled()) log.info("event is " + evt);        if(evt.getType() != Event.MSG) {            handleDownEvent(evt);            return;        }        hdr=new TunnelHeader(channel_name);        msg=(Message)evt.getArg();        msg.putHeader(getName(), hdr);        if(msg.getSrc() == null)            msg.setSrc(local_addr);        if(!stub.send(msg, channel_name)) { // if msg is not sent okay,            if(stub.reconnect())                 // try reconnecting until router is ok again                stub.register(channel_name);        }    }