if(log.isInfoEnabled()) log.info("max_bytes has been exceeded (max_bytes=" + max_bytes +
if(log.isDebugEnabled()) log.debug("max_bytes has been exceeded (max_bytes=" + max_bytes +
    public void up(Event evt) {        Message msg;        StableHeader hdr;        Header obj;        int type=evt.getType();        switch(evt.getType()) {            case Event.MSG:                msg=(Message)evt.getArg();                if(max_bytes > 0) {  // message counting is enabled                    long size=Math.max(msg.getLength(), 24);                    num_bytes_received+=size;                    if(log.isTraceEnabled())                        log.trace("received message of " + size + " bytes, total bytes received=" + num_bytes_received);                    if(num_bytes_received >= max_bytes) {                        if(log.isInfoEnabled())                            log.info("max_bytes has been exceeded (max_bytes=" + max_bytes +                                    ", number of bytes received=" + num_bytes_received + "): sending STABLE message");                        new Thread() {                            public void run() {                                initialize();                                sendStableMessage();                            }                        }.start();                        num_bytes_received=0;                    }                }                obj=msg.getHeader(getName());                if(obj == null || !(obj instanceof StableHeader))                    break;                hdr=(StableHeader)msg.removeHeader(getName());                switch(hdr.type) {                    case StableHeader.STABLE_GOSSIP:                        handleStableGossip(msg.getSrc(), hdr.digest);                        break;                    case StableHeader.STABILITY:                        handleStabilityMessage(hdr.digest);                        break;                    default:                        if(log.isErrorEnabled()) log.error("StableHeader type " + hdr.type + " not known");                }                return;  // don't pass STABLE or STABILITY messages up the stack            case Event.SET_LOCAL_ADDRESS:                local_addr=(Address)evt.getArg();                break;        }        passUp(evt);        if(desired_avg_gossip > 0) {            if(type == Event.VIEW_CHANGE || type == Event.MSG)                startStableTask(); // only start if not yet running        }    }