net.i2p.router.tunnel
Class TunnelGateway.Pending

java.lang.Object
  extended by net.i2p.router.tunnel.TunnelGateway.Pending
Direct Known Subclasses:
TunnelGateway.PendingImpl
Enclosing class:
TunnelGateway

public static class TunnelGateway.Pending
extends java.lang.Object

Stores all the state for an unsent or partially-sent message


Field Summary
protected  long _created
           
protected  long _expiration
           
protected  int _fragmentNumber
           
protected  long _messageId
           
protected  int _offset
           
protected  byte[] _remaining
           
protected  Hash _toRouter
           
protected  TunnelId _toTunnel
           
 
Constructor Summary
TunnelGateway.Pending(I2NPMessage message, Hash toRouter, TunnelId toTunnel)
           
TunnelGateway.Pending(I2NPMessage message, Hash toRouter, TunnelId toTunnel, long now)
           
 
Method Summary
 void addMessageId(long id)
          Add an ID to the list of the TunnelDataMssages this message was fragmented into.
 byte[] getData()
          raw unfragmented message to send
 long getExpiration()
           
 int getFragmentNumber()
          which fragment are we working on (0 for the first fragment)
 long getLifetime()
           
 long getMessageId()
           
 java.util.List<java.lang.Long> getMessageIds()
          The IDs of the TunnelDataMssages this message was fragmented into.
 int getOffset()
          index into the data to be sent
 Hash getToRouter()
          may be null
 TunnelId getToTunnel()
          may be null
 void incrementFragmentNumber()
          ok, fragment sent, increment what the next will be
 void setOffset(int offset)
          move the offset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_toRouter

protected Hash _toRouter

_toTunnel

protected TunnelId _toTunnel

_messageId

protected long _messageId

_expiration

protected long _expiration

_remaining

protected byte[] _remaining

_offset

protected int _offset

_fragmentNumber

protected int _fragmentNumber

_created

protected long _created
Constructor Detail

TunnelGateway.Pending

public TunnelGateway.Pending(I2NPMessage message,
                             Hash toRouter,
                             TunnelId toTunnel)

TunnelGateway.Pending

public TunnelGateway.Pending(I2NPMessage message,
                             Hash toRouter,
                             TunnelId toTunnel,
                             long now)
Method Detail

getToRouter

public Hash getToRouter()
may be null


getToTunnel

public TunnelId getToTunnel()
may be null


getMessageId

public long getMessageId()

getExpiration

public long getExpiration()

getData

public byte[] getData()
raw unfragmented message to send


getOffset

public int getOffset()
index into the data to be sent


setOffset

public void setOffset(int offset)
move the offset


getLifetime

public long getLifetime()

getFragmentNumber

public int getFragmentNumber()
which fragment are we working on (0 for the first fragment)


incrementFragmentNumber

public void incrementFragmentNumber()
ok, fragment sent, increment what the next will be


addMessageId

public void addMessageId(long id)
Add an ID to the list of the TunnelDataMssages this message was fragmented into. Unused except in notePreprocessing() calls for debugging


getMessageIds

public java.util.List<java.lang.Long> getMessageIds()
The IDs of the TunnelDataMssages this message was fragmented into. Unused except in notePreprocessing() calls for debugging