class SSU2Payload extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
SSU2Payload.AckBlock
Block containing acknowledgment data.
|
static class |
SSU2Payload.AddressBlock
Block containing IP address and port information.
|
static class |
SSU2Payload.Block
Base class for blocks to be transmitted.
|
static class |
SSU2Payload.DateTimeBlock
Block containing the current date and time.
|
static class |
SSU2Payload.FirstFragBlock
Same format as I2NPBlock
|
static class |
SSU2Payload.FollowFragBlock
Follow-on fragment block for SSU2 payload.
|
static class |
SSU2Payload.I2NPBlock
Block containing I2NP message data.
|
static class |
SSU2Payload.NewTokenBlock
Block containing a new session token.
|
static class |
SSU2Payload.OptionsBlock
Block containing session options.
|
static class |
SSU2Payload.PaddingBlock
Block containing padding data.
|
static class |
SSU2Payload.PathChallengeBlock
Path challenge block for SSU2 payload.
|
static class |
SSU2Payload.PathResponseBlock
Path response block for SSU2 payload.
|
static interface |
SSU2Payload.PayloadCallback
For all callbacks, recommend throwing exceptions only from the handshake.
|
static class |
SSU2Payload.PeerTestBlock
Block containing peer test data.
|
static class |
SSU2Payload.RelayIntroBlock
Block containing relay introduction data.
|
static class |
SSU2Payload.RelayRequestBlock
Block containing relay request data.
|
static class |
SSU2Payload.RelayResponseBlock
Block containing relay response data.
|
static class |
SSU2Payload.RelayTagBlock
Block containing relay tag data.
|
static class |
SSU2Payload.RelayTagRequestBlock
Block containing relay tag request data.
|
static class |
SSU2Payload.RIBlock
Block containing router information data.
|
static class |
SSU2Payload.TerminationBlock
Block containing session termination data.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
BLOCK_HEADER_SIZE |
static int |
BLOCK_TERMINATION |
| Constructor and Description |
|---|
SSU2Payload() |
| Modifier and Type | Method and Description |
|---|---|
static int |
processPayload(I2PAppContext ctx,
SSU2Payload.PayloadCallback cb,
byte[] payload,
int off,
int length,
boolean isHandshake,
RemoteHostId from)
Incoming payload.
|
static int |
writePayload(byte[] payload,
int off,
List<SSU2Payload.Block> blocks) |
public static final int BLOCK_HEADER_SIZE
public static final int BLOCK_TERMINATION
public static int processPayload(I2PAppContext ctx, SSU2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake, RemoteHostId from) throws IOException, DataFormatException, I2NPMessageException
isHandshake - true for Token Req, Retry, Sess Req, Sess Created; false for Sess Confirmedfrom - for path challenge/response only, may be nullIOException - on major errorsDataFormatException - on parsing of individual blocksI2NPMessageException - on parsing of I2NP blockpublic static int writePayload(byte[] payload,
int off,
List<SSU2Payload.Block> blocks)
payload - writes to it starting at off