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 | Method and Description |
---|---|
static UDPPacket |
UDPPacket.acquire(RouterContext ctx,
boolean inbound) |
UDPPacket |
PacketBuilder.buildACK(PeerState peer,
List<ACKBitfield> ackBitfields)
Build the ack packet.
|
UDPPacket |
PacketBuilder.buildHolePunch(InetAddress to,
int port)
Creates an empty unauthenticated packet for hole punching.
|
UDPPacket |
PacketBuilder.buildPacket(byte[] data,
InetAddress to,
int port)
TESTING ONLY.
|
UDPPacket |
PacketBuilder.buildPacket(List<PacketBuilder.Fragment> fragments,
PeerState peer,
List<Long> ackIdsRemaining,
int newAckCount,
List<ACKBitfield> partialACKsRemaining) |
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).
|
UDPPacket |
PacketBuilder.buildPeerTestFromAlice(InetAddress toIP,
int toPort,
SessionKey toIntroKey,
long nonce,
SessionKey aliceIntroKey)
Build a packet as if we are Alice and we either want Bob to begin a
peer test or Charlie to finish a peer test.
|
UDPPacket |
PacketBuilder.buildPeerTestFromAlice(InetAddress toIP,
int toPort,
SessionKey toCipherKey,
SessionKey toMACKey,
long nonce,
SessionKey aliceIntroKey)
Build a packet as if we are Alice and we either want Bob to begin a
peer test or Charlie to finish a peer test.
|
UDPPacket |
PacketBuilder.buildPeerTestToAlice(InetAddress aliceIP,
int alicePort,
SessionKey aliceIntroKey,
SessionKey charlieIntroKey,
long nonce)
Build a packet as if we are either Bob or Charlie and we are helping test Alice.
|
UDPPacket |
PacketBuilder.buildPeerTestToBob(InetAddress bobIP,
int bobPort,
InetAddress aliceIP,
int alicePort,
SessionKey aliceIntroKey,
long nonce,
SessionKey bobCipherKey,
SessionKey bobMACKey)
Build a packet as if we are Charlie sending Bob a packet verifying that we will help test Alice.
|
UDPPacket |
PacketBuilder.buildPeerTestToCharlie(InetAddress aliceIP,
int alicePort,
SessionKey aliceIntroKey,
long nonce,
InetAddress charlieIP,
int charliePort,
SessionKey charlieCipherKey,
SessionKey charlieMACKey)
Build a packet as if we are Bob sending Charlie a packet to help test Alice.
|
UDPPacket |
PacketBuilder.buildPing(PeerState peer)
An ACK packet with no acks.
|
(package private) UDPPacket |
PacketBuilder.buildRelayIntro(RemoteHostId alice,
PeerState charlie,
UDPPacketReader.RelayRequestReader request) |
(package private) UDPPacket |
PacketBuilder.buildRelayResponse(RemoteHostId alice,
PeerState charlie,
long nonce,
SessionKey cipherKey,
SessionKey macKey) |
UDPPacket[] |
PacketBuilder.buildSessionConfirmedPackets(OutboundEstablishState state,
RouterIdentity ourIdentity)
Build a new series of SessionConfirmed packets for the given peer,
encrypting it as necessary.
|
UDPPacket |
PacketBuilder.buildSessionCreatedPacket(InboundEstablishState state,
int externalPort,
SessionKey ourIntroKey)
Build a new SessionCreated packet for the given peer, encrypting it
as necessary.
|
UDPPacket |
PacketBuilder.buildSessionDestroyPacket(InboundEstablishState peer)
Build a destroy packet, which contains a header but no body.
|
UDPPacket |
PacketBuilder.buildSessionDestroyPacket(OutboundEstablishState peer)
Build a destroy packet, which contains a header but no body.
|
UDPPacket |
PacketBuilder.buildSessionDestroyPacket(PeerState peer)
Build a destroy packet, which contains a header but no body.
|
UDPPacket |
PacketBuilder.buildSessionRequestPacket(OutboundEstablishState state)
Build a new SessionRequest packet for the given peer, encrypting it
as necessary.
|
UDPPacket |
UDPEndpoint.receive()
Blocking call to receive the next inbound UDP packet from any peer.
|
UDPPacket |
PacketHandler.receiveNext()
Blocking call to retrieve the next inbound packet, or null if we have
shut down.
|
Modifier and Type | Method and Description |
---|---|
List<UDPPacket> |
PacketBuilder.buildRelayRequest(UDPTransport transport,
OutboundEstablishState state,
SessionKey ourIntroKey)
build intro packets for each of the published introducers
|
List<UDPPacket> |
OutboundMessageFragments.getNextVolley()
Fetch all the packets for a message volley, blocking until there is a
message which can be fully transmitted (or the transport is shut down).
|
Modifier and Type | Method and Description |
---|---|
void |
UDPSender.add(UDPPacket packet)
Put it on the queue.
|
void |
UDPSender.add(UDPPacket packet,
int blockTime)
Deprecated.
use add(packet)
|
void |
UDPPacketReader.initialize(UDPPacket packet) |
void |
PacketHandler.queueReceived(UDPPacket packet)
Blocking call to retrieve the next inbound packet, or null if we have
shut down.
|
void |
UDPEndpoint.send(UDPPacket packet)
Add the packet to the outobund queue to be sent ASAP (as allowed by
the bandwidth limiter)
BLOCKING if queue is full.
|
void |
PacketPusher.send(UDPPacket packet)
This sends it directly out, bypassing OutboundMessageFragments
and the PacketPusher.
|
(package private) void |
UDPTransport.send(UDPPacket packet)
This sends it directly out, bypassing OutboundMessageFragments.
|