net.i2p.router.tunnel

## Class InboundEndpointProcessor

- java.lang.Object
- - net.i2p.router.tunnel.InboundEndpointProcessor

-     class InboundEndpointProcessor
      extends Object

  Receive the inbound tunnel message, removing all of the layers added by earlier hops to recover the preprocessed data sent by the gateway. This delegates the crypto to the OutboundGatewayProcessor, since the tunnel creator does the same thing in both instances.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `InboundEndpointProcessor(RouterContext ctx, TunnelCreatorConfig cfg, IVValidator validator)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `TunnelCreatorConfig` | `getConfig()`
    `Hash` | `getDestination()`
    `boolean` | `retrievePreprocessedData(byte[] orig, int offset, int length, Hash prev)` Undo all of the encryption done by the peers in the tunnel, recovering the preprocessed data sent by the gateway.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### InboundEndpointProcessor

          public InboundEndpointProcessor(RouterContext ctx,
                                          TunnelCreatorConfig cfg,
                                          IVValidator validator)

  - ### Method Detail

    - #### getConfig

          public TunnelCreatorConfig getConfig()

    - #### getDestination

          public Hash getDestination()

    - #### retrievePreprocessedData

          public boolean retrievePreprocessedData(byte[] orig,
                                                  int offset,
                                                  int length,
                                                  Hash prev)

      Undo all of the encryption done by the peers in the tunnel, recovering the preprocessed data sent by the gateway.
      Parameters:
        `orig` - original data with an extra 16 byte IV prepended.
        `offset` - index into the array where the extra 16 bytes (IV) begins
        `length` - how much of orig can we write to (must be a multiple of 16). Should always be 1024 bytes.
      Returns:
        true if the data was recovered (and written in place to orig), false if it was a duplicate or from the wrong peer.