example.java

来自「JGRoups源码」· Java 代码 · 共 96 行

JAVA
96
字号
// $Id: EXAMPLE.java,v 1.4 2005/08/08 12:45:42 belaban Exp $package org.jgroups.protocols;import org.jgroups.Event;import org.jgroups.Message;import org.jgroups.View;import org.jgroups.stack.Protocol;import java.io.Serializable;import java.util.Vector;class ExampleHeader implements Serializable {    private static final long serialVersionUID = -8802317525466899597L;    // your variables    ExampleHeader() {    }    public String toString() {	return "[EXAMPLE: <variables> ]";    }}/** * Example of a protocol layer. Contains no real functionality, can be used as a template. */public class EXAMPLE extends Protocol {    final Vector   members=new Vector();    /** All protocol names have to be unique ! */    public String  getName() {return "EXAMPLE";}    /** Just remove if you don't need to reset any state */    public static void reset() {}    public void up(Event evt) {	Message msg;	switch(evt.getType()) {	case Event.MSG:	    msg=(Message)evt.getArg();	    // Do something with the event, e.g. extract the message and remove a header.	    // Optionally pass up	    break;	}	passUp(evt);            // Pass up to the layer above us    }    public void down(Event evt) {	Message msg;	switch(evt.getType()) {	case Event.TMP_VIEW:	case Event.VIEW_CHANGE:	    Vector new_members=((View)evt.getArg()).getMembers();	    synchronized(members) {		members.removeAllElements();		if(new_members != null && new_members.size() > 0)		    for(int i=0; i < new_members.size(); i++)			members.addElement(new_members.elementAt(i));	    }	    passDown(evt);	    break;	case Event.MSG:	    msg=(Message)evt.getArg();	    // Do something with the event, e.g. add a header to the message	    // Optionally pass down	    break;	}	passDown(evt);          // Pass on to the layer below us    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?