| Package | Description |
|---|---|
| net.i2p.router.transport.udp | The UDP transport (also known as 'SSU' or Secure Semi-reliable UDP transport)
for I2P, allowing I2P messages to be passed over UDP connections. |
| Modifier and Type | Field and Description |
|---|---|
protected UDPTransport | PeerState._transportThe UDP transport. |
| Modifier and Type | Method and Description |
|---|---|
(package private) UDPTransport | PeerState.getTransport()Convenience for OutboundMessageState so it can fail itself |
| Constructor and Description |
|---|
EstablishmentManager(RouterContext ctx,
UDPTransport transport)EstablishmentManager. |
InboundEstablishState2(RouterContext ctx,
UDPTransport transport,
UDPPacket packet)Start a new handshake with the given incoming packet,
which must be a Session Request or Token Request. |
InboundMessageFragments(RouterContext ctx,
OutboundMessageFragments outbound,
UDPTransport transport)InboundMessageFragments. |
IntroductionManager(RouterContext ctx,
UDPTransport transport)method comment |
MessageReceiver(RouterContext ctx,
UDPTransport transport)MessageReceiver. |
OutboundEstablishState2(RouterContext ctx,
UDPTransport transport,
RemoteHostId claimedAddress,
RemoteHostId remoteHostId,
RouterIdentity remotePeer,
boolean needIntroduction,
SessionKey introKey,
RouterAddress ra,
UDPAddress addr,
int version)Prepare to start a new handshake with the given peer. |
OutboundMessageFragments(RouterContext ctx,
UDPTransport transport)OutboundMessageFragments. |
PacketBuilder2(RouterContext ctx,
UDPTransport transport)No state, all methods are thread-safe. |
PacketHandler(RouterContext ctx,
UDPTransport transport,
EstablishmentManager establisher,
InboundMessageFragments inbound,
PeerTestManager testManager,
IntroductionManager introManager)Create a new packet handler. |
PeerState(RouterContext ctx,
UDPTransport transport,
InetSocketAddress addr,
Hash remotePeer,
boolean isInbound,
int rtt)For SSU2 |
PeerState2(RouterContext ctx,
UDPTransport transport,
InetSocketAddress remoteAddress,
Hash remotePeer,
boolean isInbound,
int rtt,
CipherState sendCha,
CipherState rcvCha,
long sendID,
long rcvID,
byte[] sendHdrKey1,
byte[] sendHdrKey2,
byte[] rcvHdrKey2)If inbound, caller MUST immediately call setWeRelayToThemAs() (if nonzero) and sendAck0(). |
PeerStateDestroyed(RouterContext ctx,
UDPTransport transport,
PeerState2 peer)This must be called after the first termination or termination ack
was sent from PeerState2, so the next packet number is correct. |
PeerStateDestroyed(RouterContext ctx,
UDPTransport transport,
RemoteHostId id,
long sendID,
long rcvID,
CipherState sendCha,
CipherState rcvCha,
byte[] sendKey1,
byte[] sendKey2,
byte[] rcvKey2,
int reason)Direct from IES2, there was never a PS2. |
PeerTestEvent(RouterContext ctx,
UDPTransport udp,
PeerTestManager ptmgr)Peer test event. |
PeerTestManager(RouterContext context,
UDPTransport transport)Have seen peer tests (as Alice) get stuck (_currentTest != null)
so I've thrown some synchronizization on the methods;
don't know the root cause or whether this fixes it |
UDPEndpoint(RouterContext ctx,
UDPTransport transport,
int listenPort,
InetAddress bindAddress) |
UDPReceiver(RouterContext ctx,
UDPTransport transport,
DatagramSocket socket,
String name,
SocketListener lsnr)Constructor name parameter. |