|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jgroups.stack.Protocol org.jgroups.protocols.FRAG
public class FRAG
Fragmentation layer. Fragments messages larger than FRAG_SIZE into smaller packets. Reassembles fragmented packets into bigger ones. The fragmentation number is added to the messages as a header (and removed at the receiving side).
Contrary to FRAG2
, FRAG marshals the entire message (including the headers) into
a byte[] buffer and the fragments that buffer. Because Message.size()
is called rather than
Message.getLength()
, and because of the overhead of marshalling, this will be slower than
FRAG2.
Each fragment is identified by (a) the sender (part of the message to which the header is appended), (b) the fragmentation ID (which is unique per FRAG layer (monotonically increasing) and (c) the fragement ID which ranges from 0 to number_of_fragments-1.
Requirement: lossless delivery (e.g. NAK, ACK). No requirement on ordering. Works for both unicast and multicast messages.
Field Summary |
---|
Fields inherited from class org.jgroups.stack.Protocol |
---|
down_prot, ergonomics, id, log, name, stack, stats, up_prot |
Constructor Summary | |
---|---|
FRAG()
|
Method Summary | |
---|---|
java.lang.Object |
down(Event evt)
Fragment a packet if larger than frag_size (add a header). |
int |
getFragSize()
|
long |
getNumberOfReceivedFragments()
|
long |
getNumberOfReceivedMessages()
|
long |
getNumberOfSentFragments()
|
long |
getNumberOfSentMessages()
|
void |
init()
Called after instance has been created (null constructor) and before protocol is started. |
void |
resetStats()
|
void |
setFragSize(int s)
|
java.lang.Object |
up(Event evt)
If event is a message, if it is fragmented, re-assemble fragments into big message and pass up the stack. |
Methods inherited from class org.jgroups.stack.Protocol |
---|
destroy, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getDownServices, getId, getIdsAbove, getLevel, getName, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getUpServices, getValue, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, resetStatistics, setDownProtocol, setErgonomics, setId, setLevel, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, start, statsEnabled, stop |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public FRAG()
Method Detail |
---|
public int getFragSize()
public void setFragSize(int s)
public long getNumberOfSentMessages()
public long getNumberOfSentFragments()
public long getNumberOfReceivedMessages()
public long getNumberOfReceivedFragments()
public void init() throws java.lang.Exception
Protocol
init
in class Protocol
java.lang.Exception
- Thrown if protocol cannot be initialized successfully. This will cause the
ProtocolStack to fail, so the channel constructor will throw an exceptionpublic void resetStats()
resetStats
in class Protocol
public java.lang.Object down(Event evt)
down
in class Protocol
public java.lang.Object up(Event evt)
up
in class Protocol
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |