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 + -
显示快捷键?