Package | Description |
---|---|
net.i2p.router.transport.udp |
The UDP transport (also known as 'SSU transport') allows passing I2P messages on top of UDP.
|
Modifier and Type | Field and Description |
---|---|
OutboundMessageState |
PacketBuilder.Fragment.state |
Modifier and Type | Method and Description |
---|---|
List<OutboundMessageState> |
PeerState.allocateSend()
Pick one or more messages we want to send and allocate them out of our window
High usage -
OutboundMessageFragments.getNextVolley() calls this 2nd, if finishMessages() returned > 0.
|
Modifier and Type | Method and Description |
---|---|
void |
PeerState.add(OutboundMessageState state)
TODO should this use a queue, separate from the list of msgs pending an ack?
TODO bring back tail drop?
TODO priority queue? (we don't implement priorities in SSU now)
TODO backlog / pushback / block instead of dropping? Can't really block here.
|
void |
OutboundMessageFragments.add(OutboundMessageState state,
PeerState peer)
Short circuit the OutNetMessage, letting us send the establish
complete message reliably.
|
UDPPacket |
PacketBuilder.buildPacket(OutboundMessageState state,
int fragment,
PeerState peer,
List<Long> ackIdsRemaining,
int newAckCount,
List<ACKBitfield> partialACKsRemaining)
This builds a data packet (PAYLOAD_TYPE_DATA).
|
void |
UDPTransport.failed(OutboundMessageState msg) |
(package private) void |
UDPTransport.failed(OutboundMessageState msg,
boolean allowPeerFailure) |
void |
UDPTransport.succeeded(OutboundMessageState msg) |
Modifier and Type | Method and Description |
---|---|
void |
OutboundMessageFragments.add(List<OutboundMessageState> states,
PeerState peer)
Short circuit the OutNetMessage, letting us send multiple messages
reliably and efficiently.
|
Constructor and Description |
---|
Fragment(OutboundMessageState state,
int num) |