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
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classBase class for blocks to be transmitted.static classstatic classSame format as I2NPBlockstatic classstatic classstatic classstatic classstatic classstatic classstatic classstatic interfaceFor all callbacks, recommend throwing exceptions only from the handshake.static classstatic classstatic classstatic classstatic classstatic classstatic classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic intprocessPayload(I2PAppContext ctx, SSU2Payload.PayloadCallback cb, byte[] payload, int off, int length, boolean isHandshake, RemoteHostId from) Incoming payload.static intwritePayload(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
-