public class FRAG2 extends Protocol
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 FRAG2 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.
Compared to FRAG, this
protocol does not need to serialize the message in order to break
it into smaller fragments: it looks only at the message's buffer, which is a
byte[] array anyway. We assume that the size addition for headers and src and
dest address is minimal when the transport finally has to serialize the
message, so we add a constant (200 bytes).
Constructor and Description |
---|
FRAG2() |
Modifier and Type | Method and Description |
---|---|
void |
clearAllFragments() |
void |
clearFragmentsFor(Address mbr) |
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) |
Object |
up(Event evt)
If event is a message, if it is fragmented, re-assemble fragments into big message and pass up
the stack.
|
destroy, dumpStats, enableStats, getConfigurableObjects, getDownProtocol, getId, getLevel, getName, getProtocolStack, getSocketFactory, getThreadFactory, getTransport, getUpProtocol, getValue, isErgonomics, printStats, providedDownServices, providedUpServices, requiredDownServices, requiredUpServices, resetStatistics, setDownProtocol, setErgonomics, setId, setLevel, setProtocolStack, setSocketFactory, setUpProtocol, setValue, setValues, start, statsEnabled, stop
public int getFragSize()
public void setFragSize(int s)
public long getNumberOfSentMessages()
public long getNumberOfSentFragments()
public long getNumberOfReceivedMessages()
public long getNumberOfReceivedFragments()
public void init() throws Exception
Protocol
public void resetStats()
resetStats
in class Protocol
public Object down(Event evt)
public Object up(Event evt)
public void clearFragmentsFor(Address mbr)
public void clearAllFragments()
Copyright © 2012 JBoss by Red Hat. All Rights Reserved.