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>
callStack
Stack<Address>.java.lang.String
corrName
The unique name of the associated RequestCorrelatorjava.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 RequestCorrelatorstatic byte
REQ
static byte
RSP
boolean
rsp_expected
msg is synchronous if truebyte
type
Type 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 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 closedint
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.
-
-
-
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:
writeExternal
in interfacejava.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 interfacejava.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 interfaceStreamable
- 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 interfaceStreamable
- 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.
-
-