## net.i2p.router.tunnel
Class BuildMessageProcessor

    java.lang.Object
      net.i2p.router.tunnel.BuildMessageProcessor

    public class BuildMessageProcessor

extends Object

Receive the build message at a certain hop, decrypt its encrypted record, read the enclosed tunnel request, decide how to reply, write the reply, encrypt the reply record, and return a TunnelBuildMessage to forward on to the next hop

Constructor Summary
`BuildMessageProcessor(I2PAppContext ctx)`

Method Summary
`BuildRequestRecord` `decrypt(I2PAppContext ctx, TunnelBuildMessage msg, Hash ourHash, PrivateKey privKey)` Decrypt the record targetting us, encrypting all of the other records with the included reply key and IV.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### BuildMessageProcessor

    public BuildMessageProcessor(I2PAppContext ctx)

Method Detail

### decrypt

    public BuildRequestRecord decrypt(I2PAppContext ctx,
                                      TunnelBuildMessage msg,
                                      Hash ourHash,
                                      PrivateKey privKey)

  Decrypt the record targetting us, encrypting all of the other records with the included reply key and IV. The original, encrypted record targetting us is removed from the request message (so that the reply can be placed in that position after going through the decrypted request record).

  Returns:
    the current hop's decrypted record