org.jgroups.protocols
Class TOTAL.Header

java.lang.Object
  extended by org.jgroups.Header
      extended by org.jgroups.protocols.TOTAL.Header
All Implemented Interfaces:
java.io.Externalizable, java.io.Serializable, Streamable
Enclosing class:
TOTAL

public static class TOTAL.Header
extends Header
implements Streamable

The header processed by the TOTAL layer and intended for TOTAL inter-stack communication

See Also:
Serialized Form

Field Summary
static int BCAST
          Broadcast Message
 long localSequenceID
          The ID used by the message source to match replies from the sequencer
static int NULL_TYPE
          Null value for the tag
static int REP
          Reply to broadcast request.
static int REQ
          Request to broadcast by the source
 long sequenceID
          The ID imposing the total order of messages
 int type
          The header's type tag
static int UCAST
          Unicast message
 
Fields inherited from class org.jgroups.Header
HDR_OVERHEAD
 
Constructor Summary
TOTAL.Header()
          used for externalization
TOTAL.Header(int type, long localSeqID, long seqID)
          Create a header for the TOTAL layer
 
Method Summary
 void readExternal(java.io.ObjectInput in)
          Manual deserialization
 void readFrom(java.io.DataInputStream in)
          Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
 long size()
          To be implemented by subclasses.
 java.lang.String toString()
          For debugging purposes
 void writeExternal(java.io.ObjectOutput out)
          Manual serialization
 void writeTo(java.io.DataOutputStream out)
          Write the entire state of the current object (including superclasses) to outstream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NULL_TYPE

public static final int NULL_TYPE
Null value for the tag

See Also:
Constant Field Values

REQ

public static final int REQ
Request to broadcast by the source

See Also:
Constant Field Values

REP

public static final int REP
Reply to broadcast request.

See Also:
Constant Field Values

UCAST

public static final int UCAST
Unicast message

See Also:
Constant Field Values

BCAST

public static final int BCAST
Broadcast Message

See Also:
Constant Field Values

type

public int type
The header's type tag


localSequenceID

public long localSequenceID
The ID used by the message source to match replies from the sequencer


sequenceID

public long sequenceID
The ID imposing the total order of messages

Constructor Detail

TOTAL.Header

public TOTAL.Header()
used for externalization


TOTAL.Header

public TOTAL.Header(int type,
                    long localSeqID,
                    long seqID)
Create a header for the TOTAL layer

Parameters:
type - the header's type
localSeqID - the ID used by the sender of broadcasts to match requests with replies from the sequencer
seqID - the ID imposing the total order of messages
Throws:
java.lang.IllegalArgumentException - if the provided header type is unknown
Method Detail

toString

public java.lang.String toString()
For debugging purposes

Overrides:
toString in class Header

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
Manual serialization

Specified by:
writeExternal in interface java.io.Externalizable
Throws:
java.io.IOException

readExternal

public void readExternal(java.io.ObjectInput in)
                  throws java.io.IOException,
                         java.lang.ClassNotFoundException
Manual deserialization

Specified by:
readExternal in interface java.io.Externalizable
Throws:
java.io.IOException
java.lang.ClassNotFoundException

writeTo

public void writeTo(java.io.DataOutputStream out)
             throws java.io.IOException
Description copied from interface: Streamable
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed

Specified by:
writeTo in interface Streamable
Throws:
java.io.IOException

readFrom

public void readFrom(java.io.DataInputStream in)
              throws java.io.IOException,
                     java.lang.IllegalAccessException,
                     java.lang.InstantiationException
Description copied from interface: Streamable
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed

Specified by:
readFrom in interface Streamable
Throws:
java.io.IOException
java.lang.IllegalAccessException
java.lang.InstantiationException

size

public long size()
Description copied from class: Header
To be implemented by subclasses. Return the size of this object for the serialized version of it. I.e. how many bytes this object takes when flattened into a buffer. This may be different for each instance, or can be the same. This may also just be an estimation. E.g. FRAG uses it on Message to determine whether or not to fragment the message. Fragmentation itself will be accurate, because the entire message will actually be serialized into a byte buffer, so we can determine the exact size.

Overrides:
size in class Header


Copyright ? 1998-2006 Bela Ban. All Rights Reserved.