Package net.i2p.router.tunnel
Class OutboundGatewayProcessor
java.lang.Object
net.i2p.router.tunnel.OutboundGatewayProcessor
class OutboundGatewayProcessor extends Object
Turn the preprocessed tunnel data into something that can be delivered to the
first hop in the tunnel. The crypto used in this class is also used by the
InboundEndpointProcessor, as it's the same 'undo' function of the tunnel crypto.
-
Constructor Summary
Constructors Constructor Description OutboundGatewayProcessor(I2PAppContext ctx, TunnelCreatorConfig cfg)
-
Method Summary
Modifier and Type Method Description (package private) static void
decrypt(I2PAppContext ctx, byte[] orig, int offset, int length, HopConfig config)
Undo the crypto for a single hop.void
process(byte[] orig, int offset, int length)
Since we are the outbound gateway, pick a random IV and wrap the preprocessed data so that it will be exposed at the endpoint.
-
Constructor Details
-
Method Details
-
process
public void process(byte[] orig, int offset, int length)Since we are the outbound gateway, pick a random IV and wrap the preprocessed data so that it will be exposed at the endpoint.- Parameters:
orig
- original data with an extra 16 byte IV prepended.offset
- index into the array where the extra 16 bytes (IV) beginslength
- how much of orig can we write to (must be a multiple of 16). Should always be 1024 bytes.
-
decrypt
Undo the crypto for a single hop. This is used by both the outbound gateway (preemptively undoing the crypto peers will add) and by the inbound endpoint.- Parameters:
orig
- original data with an extra 16 byte IV prepended.offset
- index into the array where the extra 16 bytes (IV) beginslength
- how much of orig can we write to (must be a multiple of 16). Should always be 1024 bytes.
-