net.i2p.router.tunnel
Class HopConfig

java.lang.Object
  extended by net.i2p.router.tunnel.HopConfig

public class HopConfig
extends java.lang.Object

Defines the general configuration for a hop in a tunnel.


Field Summary
static int REPLY_IV_LENGTH
          IV length for getReplyIV()
 
Constructor Summary
HopConfig()
           
 
Method Summary
 long getCreation()
          when was this tunnel created (in ms since the epoch)?
 long getExpiration()
          when does this tunnel expire (in ms since the epoch)?
 SessionKey getIVKey()
          what key should we use to encrypt the preIV before passing it on?
 SessionKey getLayerKey()
          what key should we use to encrypt the layer before passing it on?
 java.util.Map getOptions()
          what are the configuration options for this tunnel (if any).
 long getProcessedMessagesCount()
           
 Hash getReceiveFrom()
          what is the previous peer in the tunnel (if any)?
 TunnelId getReceiveTunnel()
           
 byte[] getReceiveTunnelId()
          what tunnel ID are we receiving on?
 long getRecentMessagesCount()
           
 long getRecentSentMessagesCount()
           
 ByteArray getReplyIV()
          iv used to encrypt the reply sent for the new tunnel creation crypto
 SessionKey getReplyKey()
          key to encrypt the reply sent for the new tunnel creation crypto
 Hash getSendTo()
          what is the next peer in the tunnel (if any)?
 TunnelId getSendTunnel()
           
 byte[] getSendTunnelId()
          what is the next tunnel ID we are sending to?
 long getSentMessagesCount()
           
 void incrementProcessedMessages()
          "processed" is for incoming and "sent" is for outgoing (could be dropped in between)
 void incrementSentMessages()
           
 void setCreation(long when)
           
 void setExpiration(long when)
           
 void setIVKey(SessionKey key)
           
 void setLayerKey(SessionKey key)
           
 void setOptions(java.util.Map options)
           
 void setReceiveFrom(Hash from)
           
 void setReceiveTunnelId(byte[] id)
           
 void setReceiveTunnelId(TunnelId id)
           
 void setReplyIV(ByteArray iv)
           
 void setReplyKey(SessionKey key)
           
 void setSendTo(Hash to)
           
 void setSendTunnelId(byte[] id)
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

REPLY_IV_LENGTH

public static final int REPLY_IV_LENGTH
IV length for getReplyIV()

See Also:
Constant Field Values
Constructor Detail

HopConfig

public HopConfig()
Method Detail

getReceiveTunnelId

public byte[] getReceiveTunnelId()
what tunnel ID are we receiving on?


getReceiveTunnel

public TunnelId getReceiveTunnel()

setReceiveTunnelId

public void setReceiveTunnelId(byte[] id)

setReceiveTunnelId

public void setReceiveTunnelId(TunnelId id)

getReceiveFrom

public Hash getReceiveFrom()
what is the previous peer in the tunnel (if any)?


setReceiveFrom

public void setReceiveFrom(Hash from)

getSendTunnelId

public byte[] getSendTunnelId()
what is the next tunnel ID we are sending to?


getSendTunnel

public TunnelId getSendTunnel()

setSendTunnelId

public void setSendTunnelId(byte[] id)

getSendTo

public Hash getSendTo()
what is the next peer in the tunnel (if any)?


setSendTo

public void setSendTo(Hash to)

getLayerKey

public SessionKey getLayerKey()
what key should we use to encrypt the layer before passing it on?


setLayerKey

public void setLayerKey(SessionKey key)

getIVKey

public SessionKey getIVKey()
what key should we use to encrypt the preIV before passing it on?


setIVKey

public void setIVKey(SessionKey key)

getReplyKey

public SessionKey getReplyKey()
key to encrypt the reply sent for the new tunnel creation crypto


setReplyKey

public void setReplyKey(SessionKey key)

getReplyIV

public ByteArray getReplyIV()
iv used to encrypt the reply sent for the new tunnel creation crypto


setReplyIV

public void setReplyIV(ByteArray iv)

getExpiration

public long getExpiration()
when does this tunnel expire (in ms since the epoch)?


setExpiration

public void setExpiration(long when)

getCreation

public long getCreation()
when was this tunnel created (in ms since the epoch)?


setCreation

public void setCreation(long when)

getOptions

public java.util.Map getOptions()
what are the configuration options for this tunnel (if any). keys to this map should be strings and values should be Objects of an option-specific type (e.g. "maxMessages" would be an Integer, "shouldPad" would be a Boolean, etc).


setOptions

public void setOptions(java.util.Map options)

incrementProcessedMessages

public void incrementProcessedMessages()
"processed" is for incoming and "sent" is for outgoing (could be dropped in between)


getProcessedMessagesCount

public long getProcessedMessagesCount()

getRecentMessagesCount

public long getRecentMessagesCount()

incrementSentMessages

public void incrementSentMessages()

getSentMessagesCount

public long getSentMessagesCount()

getRecentSentMessagesCount

public long getRecentSentMessagesCount()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object