Class PendingGatewayMessage

java.lang.Object
net.i2p.router.tunnel.PendingGatewayMessage
All Implemented Interfaces:
CDQEntry
Direct Known Subclasses:
OutboundGatewayMessage

class PendingGatewayMessage extends Object implements CDQEntry
Stores all the state for an unsent or partially-sent message
Since:
0.9.3 refactored from TunnelGateway.Pending
  • Field Details

    • _toRouter

      protected final Hash _toRouter
    • _toTunnel

      protected final TunnelId _toTunnel
    • _messageId

      protected final long _messageId
    • _expiration

      protected final long _expiration
    • _remaining

      protected final byte[] _remaining
    • _offset

      protected int _offset
    • _fragmentNumber

      protected int _fragmentNumber
    • _created

      protected final long _created
  • Constructor Details

  • Method Details

    • 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 List<Long> getMessageIds()
      The IDs of the TunnelDataMssages this message was fragmented into. Unused except in notePreprocessing() calls for debugging
    • setEnqueueTime

      public void setEnqueueTime(long now)
      For CDQ
      Specified by:
      setEnqueueTime in interface CDQEntry
      Since:
      0.9.3
    • getEnqueueTime

      public long getEnqueueTime()
      For CDQ
      Specified by:
      getEnqueueTime in interface CDQEntry
      Since:
      0.9.3
    • drop

      public void drop()
      For CDQ
      Specified by:
      drop in interface CDQEntry
      Since:
      0.9.3
    • toString

      public String toString()
      Overrides:
      toString in class Object