The NTCP transport allows passing I2P messages on top of TCP. The N in NTCP stands for 'New', as the NTCP transport replaces an older TCP transport which had issues concerning congestion collapse.
Interface | Description |
---|---|
EstablishState |
Handle the establishment
|
NTCP2Payload.PayloadCallback |
Class | Description |
---|---|
EstablishBase |
Handle the 4-phase establishment, which is as follows:
|
EventPumper |
The main NTCP NIO thread.
|
InboundEstablishState |
NTCP 1 or 2.
|
NTCP2Payload |
NTCP2 Payload generation and parsing
|
NTCP2Payload.Block | |
NTCP2Payload.DateTimeBlock | |
NTCP2Payload.I2NPBlock | |
NTCP2Payload.PaddingBlock | |
NTCP2Payload.RIBlock | |
NTCPConnection |
Coordinate the connection to a single peer.
|
NTCPConnection.PrepBuffer | |
NTCPSendFinisher |
Previously, NTCP was using SimpleTimer with a delay of 0, which
was a real abuse.
|
NTCPTransport |
The NIO TCP transport
|
OutboundEstablishState |
NTCP 1 only.
|
Reader |
Pool of running threads which will process any read bytes on any of the
NTCPConnections, including the decryption of the data read, connection
handshaking, parsing bytes into I2NP messages, etc.
|
Writer |
Pool of running threads which will transform the next I2NP message into
something ready to be transferred over an NTCP connection, including the
encryption of the data read.
|
Enum | Description |
---|---|
EstablishBase.State |