org.javagroups.protocols
Class FRAG
java.lang.Object
|
+--org.javagroups.stack.Protocol
|
+--org.javagroups.protocols.FRAG
- public class FRAG
- extends Protocol
Fragmentation layer. Fragments messages larger than FRAG_SIZE into smaller packets.
Reassembles fragmented packets into bigger ones. The fragmentation number is prepended
to the messages as a header (and removed at the receiving side).
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.
Typical stack:
FIFO
FRAG
NAK
UDP
- Author:
- Bela Ban, Filip Hanik
Fields inherited from class org.javagroups.stack.Protocol |
down_handler, down_prot, down_queue, down_thread, observer, props, stack, up_handler, up_prot, up_queue, up_thread |
Constructor Summary |
FRAG()
|
Method Summary |
void |
down(Event evt)
Fragment a packet if larger than frag_size (add a header). |
java.lang.String |
getName()
|
void |
reset()
Just remove if you don't need to reset any state |
boolean |
setProperties(java.util.Properties props)
Setup the Protocol instance acording to the configuration string |
void |
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.javagroups.stack.Protocol |
getDownProtocol, getDownQueue, getProperties, getUpProtocol, getUpQueue, init, passDown, passUp, providedDownServices, providedUpServices, receiveDownEvent, receiveUpEvent, requiredDownServices, requiredUpServices, setDownProtocol, setObserver, setPropertiesInternal, setProtocolStack, setUpProtocol, startDownHandler, startUpHandler, stopInternal |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
FRAG
public FRAG()
getName
public java.lang.String getName()
- Overrides:
getName
in class Protocol
setProperties
public boolean setProperties(java.util.Properties props)
- Setup the Protocol instance acording to the configuration string
- Overrides:
setProperties
in class Protocol
reset
public void reset()
- Just remove if you don't need to reset any state
down
public void down(Event evt)
- Fragment a packet if larger than frag_size (add a header). Otherwise just pass down. Only
add a header if framentation is needed !
- Overrides:
down
in class Protocol
up
public void up(Event evt)
- If event is a message, if it is fragmented, re-assemble fragments into big message and pass up
the stack.
- Overrides:
up
in class Protocol
Copyright © 2001,2002 www.javagroups.com . All Rights Reserved.