Package net.i2p.router.transport.udp
Class SSU2Payload
java.lang.Object
net.i2p.router.transport.udp.SSU2Payload
SSU2 Payload generation and parsing
- Since:
- 0.9.54
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
static class
static class
Base class for blocks to be transmitted.static class
static class
Same format as I2NPBlockstatic class
static class
static class
static class
static class
static class
static class
static interface
For all callbacks, recommend throwing exceptions only from the handshake.static class
static class
static class
static class
static class
static class
static class
static class
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
static final int
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic 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)
-
Field Details
-
BLOCK_HEADER_SIZE
public static final int BLOCK_HEADER_SIZE- See Also:
-
BLOCK_TERMINATION
public static final int BLOCK_TERMINATION- See Also:
-
-
Constructor Details
-
SSU2Payload
SSU2Payload()
-
-
Method Details
-
processPayload
public static int processPayload(I2PAppContext ctx, SSU2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake, RemoteHostId from) throws IOException, DataFormatException, I2NPMessageException Incoming payload. Calls the callback for each received block.- Parameters:
isHandshake
- true for Token Req, Retry, Sess Req, Sess Created; false for Sess Confirmedfrom
- for path challenge/response only, may be null- Returns:
- number of blocks processed
- Throws:
IOException
- on major errorsDataFormatException
- on parsing of individual blocksI2NPMessageException
- on parsing of I2NP block
-
writePayload
- Parameters:
payload
- writes to it starting at off- Returns:
- the new offset
-