org.jgroups.blocks
Class RequestCorrelator.Header

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

public static final class RequestCorrelator.Header
extends Header
implements Streamable

The header for RequestCorrelator messages

See Also:
Serialized Form

Field Summary
 java.util.Stack<Address> callStack
          Stack<Address>.
 java.lang.String corrName
          The unique name of the associated RequestCorrelator
 java.util.List<Address> dest_mbrs
          Contains a list of members who should receive the request (others will drop).
 long id
          The id of this request to distinguish among other requests from the same RequestCorrelator
static byte REQ
           
static byte RSP
           
 boolean rsp_expected
          msg is synchronous if true
 byte type
          Type of header: request or reply
 
Fields inherited from class org.jgroups.Header
HDR_OVERHEAD
 
Constructor Summary
RequestCorrelator.Header()
          Used for externalization
RequestCorrelator.Header(byte type, long id, boolean rsp_expected, java.lang.String name)
           
 
Method Summary
 void readExternal(java.io.ObjectInput in)
           
 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
 int size()
          To be implemented by subclasses.
 java.lang.String toString()
           
 void writeExternal(java.io.ObjectOutput out)
           
 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

REQ

public static final byte REQ
See Also:
Constant Field Values

RSP

public static final byte RSP
See Also:
Constant Field Values

type

public byte type
Type of header: request or reply


id

public long id
The id of this request to distinguish among other requests from the same RequestCorrelator


rsp_expected

public boolean rsp_expected
msg is synchronous if true


corrName

public java.lang.String corrName
The unique name of the associated RequestCorrelator


callStack

public java.util.Stack<Address> callStack
Stack<Address>. Contains senders (e.g. P --> Q --> R)


dest_mbrs

public java.util.List<Address> dest_mbrs
Contains a list of members who should receive the request (others will drop). Ignored if null

Constructor Detail

RequestCorrelator.Header

public RequestCorrelator.Header()
Used for externalization


RequestCorrelator.Header

public RequestCorrelator.Header(byte type,
                                long id,
                                boolean rsp_expected,
                                java.lang.String name)
Parameters:
type - type of header (REQ/RSP)
id - id of this header relative to ids of other requests originating from the same correlator
rsp_expected - whether it's a sync or async request
name - the name of the RequestCorrelator from which
Method Detail

toString

public java.lang.String toString()
Overrides:
toString in class Header

writeExternal

public void writeExternal(java.io.ObjectOutput out)
                   throws java.io.IOException
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
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 int 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-2008 Bela Ban. All Rights Reserved.