totaltokenprotocolobserver.java
来自「JGRoups源码」· Java 代码 · 共 122 行
JAVA
122 行
// $Id: TotalTokenProtocolObserver.java,v 1.6 2006/08/13 09:05:10 mimbert Exp $package org.jgroups.blocks;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.jgroups.Event;import org.jgroups.JChannel;import org.jgroups.Message;import org.jgroups.stack.Protocol;import org.jgroups.stack.ProtocolObserver;import java.util.Vector;public class TotalTokenProtocolObserver implements ProtocolObserver{ String name; static Log logger = LogFactory.getLog(TotalTokenProtocolObserver.class); public TotalTokenProtocolObserver(JChannel c) { this.name = c.getLocalAddress().toString(); Vector prots = c.getProtocolStack().getProtocols(); for (int i = 0; i < prots.size(); i++) { Protocol prot = (Protocol) prots.elementAt(i); if ("TOTAL_TOKEN".equals(prot.getName())) { prot.setObserver(this); } } } public void setProtocol(Protocol prot) { } public boolean up(Event evt, int num_evts) { return true; } public boolean passUp(Event evt) { Object obj = null; Message msg; if (evt.getType() != Event.MSG) { logger.debug("For channel "+name+" received event:"+evt); return true; } msg = (Message) evt.getArg(); if (msg.getLength() > 0) { try { obj=msg.getObject(); } catch (ClassCastException cast_ex) { logger.debug("For channel "+name+" received:"+msg); return true; } catch (Exception e) { logger.error(e); } logger.debug("For channel "+name+" received:"+obj); } else logger.debug( "For channel "+name+" received null msg from " + msg.getSrc() + ", headers are " + msg.printObjectHeaders() + ')'); return true; } public boolean down(Event evt, int num_evts) { Object obj=null; Message msg; if(evt.getType() != Event.MSG) { logger.debug("For channel "+name+" sent event:"+evt); return true; } msg=(Message)evt.getArg(); if(msg.getLength() > 0) { try { obj=msg.getObject(); } catch(ClassCastException cast_ex) { logger.debug("For channel "+name+" sent:"+msg); return true; } catch(Exception e) { logger.error(e); } logger.debug("For channel "+name+" sent:"+obj); } else logger.debug("For channel "+name+" sent null msg to " + msg.getDest() + ", headers are " + msg.printObjectHeaders() + " )"); return true; } public boolean passDown(Event evt) { return true; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?