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 |
For all callbacks, recommend throwing exceptions only from the handshake.
|
Class | Description |
---|---|
EstablishBase |
Inbound NTCP 1 or 2.
|
EventPumper |
The main NTCP NIO thread.
|
InboundEstablishState |
NTCP 1 or 2.
|
NTCP2Options |
NTCP2 Padding/Dummy/Delay configuration for data phase.
|
NTCP2Payload |
NTCP2 Payload generation and parsing
|
NTCP2Payload.Block |
Base class for blocks to be transmitted.
|
NTCP2Payload.DateTimeBlock | |
NTCP2Payload.I2NPBlock | |
NTCP2Payload.OptionsBlock | |
NTCP2Payload.PaddingBlock | |
NTCP2Payload.RIBlock | |
NTCP2Payload.TerminationBlock | |
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.
|
OutboundNTCP2State |
NTCP 2 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 |