All Downloads are FREE. Search and download functionalities are using the official Maven repository.

bboss.org.jgroups.Event Maven / Gradle / Ivy

The newest version!
package bboss.org.jgroups;



/**
 * Used for inter-stack and intra-stack communication.
 * @author Bela Ban
 * @version $Id: Event.java,v 1.74 2009/10/14 15:44:03 vlada Exp $
 */
public class Event {
    public static final int MSG                                =  1;  // arg = Message
    public static final int CONNECT                            =  2;  // arg = cluster name (string)
    public static final int DISCONNECT                         =  4;  // arg = member address (Address)
    public static final int VIEW_CHANGE                        =  6;  // arg = View (or MergeView in case of merge)
    public static final int SET_LOCAL_ADDRESS                  =  8;  // arg = Address
    public static final int SUSPECT                            =  9;  // arg = Address of suspected member
    public static final int BLOCK                              = 10;  // arg = null (used by FLUSH)
    public static final int FIND_INITIAL_MBRS                  = 12;  // arg = JoinPromise (or null (merge2))
    public static final int FIND_ALL_MBRS                      = 13;  // arg = JoinPromise (or null (merge2))
    public static final int MERGE                              = 14;  // arg = Map
    public static final int TMP_VIEW                           = 15;  // arg = View
    public static final int BECOME_SERVER                      = 16;  // sent when client has joined group
    public static final int GET_APPLSTATE                      = 17;  // get state from appl (arg=StateTransferInfo)
    public static final int GET_STATE                          = 19;  // arg = StateTransferInfo
    public static final int GET_STATE_OK                       = 20;  // arg = StateTransferInfo
    public static final int STATE_RECEIVED                     = 21;  // arg = StateTransferInfo (with state and state_id)
    public static final int STABLE                             = 30;  // arg = long[] (stable seqnos for mbrs)
    public static final int GET_DIGEST                         = 39;  //
    public static final int SET_DIGEST                         = 41;  // arg = Digest
    public static final int OVERWRITE_DIGEST                   = 42;  // arg = Digest
    public static final int UNSUSPECT                          = 51;  // arg = Address (of unsuspected member)
    public static final int MERGE_DIGEST                       = 53;  // arg = Digest
    public static final int CONFIG                             = 56;  // arg = Map (config properties)
    public static final int SUSPEND_STABLE                     = 65;  // arg = Long (max_suspend_time)
    public static final int RESUME_STABLE                      = 66;  // arg = null
    public static final int SUSPEND					           = 68;  // arg = List
(used by FLUSH) public static final int RESUME = 70; // arg = null (used by FLUSH) public static final int STATE_TRANSFER_INPUTSTREAM = 71; // arg=java.io.InputStream subclass public static final int STATE_TRANSFER_OUTPUTSTREAM = 72; // arg=java.io.OutputStream subclass public static final int STATE_TRANSFER_INPUTSTREAM_CLOSED = 73; //arg=null public static final int STATE_TRANSFER_OUTPUTSTREAM_CLOSED = 74; //arg=null public static final int UNBLOCK = 75; //arg=null (indicate end of flush round) public static final int CLOSE_BARRIER = 76; // arg = null public static final int OPEN_BARRIER = 77; // arg = null public static final int REBROADCAST = 78; // arg = Digest public static final int CONNECT_WITH_STATE_TRANSFER = 80; // arg = cluster name (string) public static final int PREPARE_VIEW = 86; // arg = View public static final int GET_PHYSICAL_ADDRESS = 87; // arg = Address --> PhysicalAddress public static final int GET_LOGICAL_PHYSICAL_MAPPINGS = 88; // arg = null --> Map public static final int SET_PHYSICAL_ADDRESS = 89; // arg = Tuple public static final int REMOVE_ADDRESS = 90; // arg = Address public static final int GET_LOCAL_ADDRESS = 91; // arg = null --> UUID (local_addr) public static final int CONNECT_USE_FLUSH = 92; public static final int CONNECT_WITH_STATE_TRANSFER_USE_FLUSH = 93; public static final int SUSPEND_BUT_FAIL = 94; // used in FLUSH testing, no args public static final int USER_DEFINED = 1000; // arg = private final int type; // type of event private final Object arg; // must be serializable if used for inter-stack communication public Event(int type) { this.type=type; this.arg=null; } public Event(int type, Object arg) { this.type=type; this.arg=arg; } public final int getType() { return type; } /** * Sets the new type * @param type * @deprecated in order to make an Event immutable */ public void setType(int type) { throw new IllegalAccessError("setType() has been deprecated, to make Events immutable"); } public Object getArg() { return arg; } public void setArg(Object arg) { throw new IllegalAccessError("setArg() has been deprecated, to make Events immutable"); } public static String type2String(int t) { switch(t) { case MSG: return "MSG"; case CONNECT: return "CONNECT"; case DISCONNECT: return "DISCONNECT"; case VIEW_CHANGE: return "VIEW_CHANGE"; case SET_LOCAL_ADDRESS: return "SET_LOCAL_ADDRESS"; case SUSPECT: return "SUSPECT"; case BLOCK: return "BLOCK"; case FIND_INITIAL_MBRS: return "FIND_INITIAL_MBRS"; case FIND_ALL_MBRS: return "FIND_ALL_INITIAL_VIEWS"; case TMP_VIEW: return "TMP_VIEW"; case BECOME_SERVER: return "BECOME_SERVER"; case GET_APPLSTATE: return "GET_APPLSTATE"; case GET_STATE: return "GET_STATE"; case GET_STATE_OK: return "GET_STATE_OK"; case STATE_RECEIVED: return "STATE_RECEIVED"; case STABLE: return "STABLE"; case GET_DIGEST: return "GET_DIGEST"; case SET_DIGEST: return "SET_DIGEST"; case OVERWRITE_DIGEST: return "OVERWRITE_DIGEST"; case MERGE: return "MERGE"; case UNSUSPECT: return "UNSUSPECT"; case MERGE_DIGEST: return "MERGE_DIGEST"; case CONFIG: return "CONFIG"; case SUSPEND_STABLE: return "SUSPEND_STABLE"; case RESUME_STABLE: return "RESUME_STABLE"; case SUSPEND: return "SUSPEND"; case SUSPEND_BUT_FAIL: return "SUSPEND_BUT_FAIL"; case RESUME: return "RESUME"; case STATE_TRANSFER_INPUTSTREAM: return "STATE_TRANSFER_INPUTSTREAM"; case STATE_TRANSFER_OUTPUTSTREAM:return "STATE_TRANSFER_OUTPUTSTREAM"; case STATE_TRANSFER_INPUTSTREAM_CLOSED: return "STATE_TRANSFER_INPUTSTREAM_CLOSED"; case STATE_TRANSFER_OUTPUTSTREAM_CLOSED: return "STATE_TRANSFER_OUTPUTSTREAM_CLOSED"; case UNBLOCK: return "UNBLOCK"; case CLOSE_BARRIER: return "CLOSE_BARRIER"; case OPEN_BARRIER: return "OPEN_BARRIER"; case REBROADCAST: return "REBROADCAST"; case CONNECT_WITH_STATE_TRANSFER: return "CONNECT_WITH_STATE_TRANSFER"; case PREPARE_VIEW: return "PREPARE_VIEW"; case USER_DEFINED: return "USER_DEFINED"; default: return "UNDEFINED(" + t + ")"; } } public static final Event GET_DIGEST_EVT = new Event(Event.GET_DIGEST); public String toString() { StringBuilder ret=new StringBuilder(64); ret.append("Event[type=" + type2String(type) + ", arg=" + arg + ']'); if(type == MSG) ret.append(" (headers=").append(((Message)arg).printHeaders()).append(")"); return ret.toString(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy