Package net.i2p.router.transport.udp
Class InboundMessageFragments
- java.lang.Object
-
- net.i2p.router.transport.udp.InboundMessageFragments
-
class InboundMessageFragments extends Object
Organize the received data message fragments, feeding completed messages to theMessageReceiverand telling thePeerStateto ACK. In addition, it drops failed fragments and keeps a minimal list of the most recently completed messages (even though higher up in the router we have full blown replay detection, its nice to have a basic line of defense here).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classInboundMessageFragments.ModifiableLongModifiable Long, no locking
-
Constructor Summary
Constructors Constructor Description InboundMessageFragments(RouterContext ctx, OutboundMessageFragments outbound, UDPTransport transport)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisAlive()booleanmessageReceived(long messageID)This message was received.voidreceiveData(PeerState from, UDPPacketReader.DataReader data)Pull the fragments and ACKs out of the authenticated data packet SSU 1 only.voidshutdown()voidstartup()booleanwasRecentlyReceived(long messageID)Was this message recently received? SSU 2 only.
-
-
-
Constructor Detail
-
InboundMessageFragments
public InboundMessageFragments(RouterContext ctx, OutboundMessageFragments outbound, UDPTransport transport)
-
-
Method Detail
-
startup
public void startup()
-
shutdown
public void shutdown()
-
isAlive
public boolean isAlive()
-
receiveData
public void receiveData(PeerState from, UDPPacketReader.DataReader data)
Pull the fragments and ACKs out of the authenticated data packet SSU 1 only.
-
messageReceived
public boolean messageReceived(long messageID)
This message was received. SSU 2 only. No stats updated here, caller should handle stats.- Returns:
- true if this message was a duplicate
- Since:
- 0.9.54
-
wasRecentlyReceived
public boolean wasRecentlyReceived(long messageID)
Was this message recently received? SSU 2 only. No stats updated here, caller should handle stats.- Returns:
- true if this message was recently received.
- Since:
- 0.9.54
-
-