class InboundMessageFragments extends Object
MessageReceiver and telling the PeerState
to 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).| Modifier and Type | Class and Description |
|---|---|
static class | InboundMessageFragments.ModifiableLongModifiable Long, no locking |
| Constructor and Description |
|---|
InboundMessageFragments(RouterContext ctx,
OutboundMessageFragments outbound,
UDPTransport transport)InboundMessageFragments. |
| Modifier and Type | Method and Description |
|---|---|
(package private) void | adjustMessageReceiverThreads()Dynamically adjust MessageReceiver thread count to match the target. |
(package private) double | getMessageReceiverUtilization()Get message receiver pool utilization as a ratio (0.0-1.0). |
(package private) int | getReceiverQueueCapacity()Returns the maximum capacity of the message receiver queue. |
(package private) int | getReceiverQueueSize()Returns the current queue depth of the message receiver. |
boolean | isAlive() |
boolean | messageReceived(long messageID)This message was received - SSU 2 only. |
void | shutdown()shutdown. |
void | startup()startup. |
boolean | wasRecentlyReceived(long messageID)Was this message recently received? SSU 2 only. |
public InboundMessageFragments(RouterContext ctx, OutboundMessageFragments outbound, UDPTransport transport)
void adjustMessageReceiverThreads()
double getMessageReceiverUtilization()
int getReceiverQueueCapacity()
int getReceiverQueueSize()
public boolean isAlive()
public boolean messageReceived(long messageID)
public void shutdown()
public void startup()
public boolean wasRecentlyReceived(long messageID)