Package org.jgroups.blocks
Class RequestCorrelator.Header
- java.lang.Object
-
- org.jgroups.Header
-
- 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
Fields Modifier and Type Field Description java.util.Stack<Address>callStackStack<Address>.java.lang.StringcorrNameThe unique name of the associated RequestCorrelatorjava.util.List<Address>dest_mbrsContains a list of members who should receive the request (others will drop).longidThe id of this request to distinguish among other requests from the same RequestCorrelatorstatic byteREQstatic byteRSPbooleanrsp_expectedmsg is synchronous if truebytetypeType of header: request or reply-
Fields inherited from class org.jgroups.Header
HDR_OVERHEAD
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidreadExternal(java.io.ObjectInput in)voidreadFrom(java.io.DataInputStream in)Read the state of the current object (including superclasses) from instream Note that the input stream must not be closedintsize()To be implemented by subclasses.java.lang.StringtoString()voidwriteExternal(java.io.ObjectOutput out)voidwriteTo(java.io.DataOutputStream out)Write the entire state of the current object (including superclasses) to outstream.
-
-
-
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
-
Header
public Header()
Used for externalization
-
Header
public 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 correlatorrsp_expected- whether it's a sync or async requestname- the name of the RequestCorrelator from which
-
-
Method Detail
-
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException- Specified by:
writeExternalin interfacejava.io.Externalizable- Throws:
java.io.IOException
-
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException, java.lang.ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable- Throws:
java.io.IOExceptionjava.lang.ClassNotFoundException
-
writeTo
public void writeTo(java.io.DataOutputStream out) throws java.io.IOExceptionDescription copied from interface:StreamableWrite the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed- Specified by:
writeToin interfaceStreamable- Throws:
java.io.IOException
-
readFrom
public void readFrom(java.io.DataInputStream in) throws java.io.IOException, java.lang.IllegalAccessException, java.lang.InstantiationExceptionDescription copied from interface:StreamableRead the state of the current object (including superclasses) from instream Note that the input stream must not be closed- Specified by:
readFromin interfaceStreamable- Throws:
java.io.IOExceptionjava.lang.IllegalAccessExceptionjava.lang.InstantiationException
-
size
public int size()
Description copied from class:HeaderTo 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.
-
-