Package net.i2p.router.transport.udp
Class SSU2Payload
- java.lang.Object
-
- net.i2p.router.transport.udp.SSU2Payload
-
class SSU2Payload extends Object
SSU2 Payload generation and parsing- Since:
- 0.9.54
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SSU2Payload.AckBlock
static class
SSU2Payload.AddressBlock
static class
SSU2Payload.Block
Base class for blocks to be transmitted.static class
SSU2Payload.DateTimeBlock
static class
SSU2Payload.FirstFragBlock
Same format as I2NPBlockstatic class
SSU2Payload.FollowFragBlock
static class
SSU2Payload.I2NPBlock
static class
SSU2Payload.NewTokenBlock
static class
SSU2Payload.OptionsBlock
static class
SSU2Payload.PaddingBlock
static interface
SSU2Payload.PayloadCallback
For all callbacks, recommend throwing exceptions only from the handshake.static class
SSU2Payload.PeerTestBlock
static class
SSU2Payload.RelayIntroBlock
static class
SSU2Payload.RelayRequestBlock
static class
SSU2Payload.RelayResponseBlock
static class
SSU2Payload.RelayTagBlock
static class
SSU2Payload.RelayTagRequestBlock
static class
SSU2Payload.RIBlock
static class
SSU2Payload.TerminationBlock
-
Field Summary
Fields Modifier and Type Field Description static int
BLOCK_HEADER_SIZE
-
Constructor Summary
Constructors Constructor Description SSU2Payload()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static int
processPayload(I2PAppContext ctx, SSU2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake)
Incoming payload.static int
writePayload(byte[] payload, int off, List<SSU2Payload.Block> blocks)
-
-
-
Field Detail
-
BLOCK_HEADER_SIZE
public static final int BLOCK_HEADER_SIZE
- See Also:
- Constant Field Values
-
-
Method Detail
-
processPayload
public static int processPayload(I2PAppContext ctx, SSU2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake) 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 Confirmed- Returns:
- number of blocks processed
- Throws:
IOException
- on major errorsDataFormatException
- on parsing of individual blocksI2NPMessageException
- on parsing of I2NP block
-
writePayload
public static int writePayload(byte[] payload, int off, List<SSU2Payload.Block> blocks)
- Parameters:
payload
- writes to it starting at off- Returns:
- the new offset
-
-