Class SSU2Payload.Block

java.lang.Object
net.i2p.router.transport.udp.SSU2Payload.Block
Direct Known Subclasses:
SSU2Payload.AckBlock, SSU2Payload.AddressBlock, SSU2Payload.DateTimeBlock, SSU2Payload.FirstFragBlock, SSU2Payload.FollowFragBlock, SSU2Payload.I2NPBlock, SSU2Payload.NewTokenBlock, SSU2Payload.OptionsBlock, SSU2Payload.PaddingBlock, SSU2Payload.PathChallengeBlock, SSU2Payload.PathResponseBlock, SSU2Payload.PeerTestBlock, SSU2Payload.RelayIntroBlock, SSU2Payload.RelayRequestBlock, SSU2Payload.RelayResponseBlock, SSU2Payload.RelayTagBlock, SSU2Payload.RelayTagRequestBlock, SSU2Payload.RIBlock, SSU2Payload.TerminationBlock
Enclosing class:
SSU2Payload

public abstract static class SSU2Payload.Block extends Object
Base class for blocks to be transmitted. Not used for receive; we use callbacks instead.
  • Constructor Details

    • Block

      public Block(int ttype)
  • Method Details

    • getType

      public int getType()
      Since:
      0.9.55
    • write

      public int write(byte[] tgt, int off)
      Returns:
      new offset
    • getTotalLength

      public int getTotalLength()
      Returns:
      the size of the block, including the 3 byte header (type and size)
    • getDataLength

      public abstract int getDataLength()
      Returns:
      the size of the block, NOT including the 3 byte header (type and size)
    • writeData

      public abstract int writeData(byte[] tgt, int off)
      Returns:
      new offset
    • toString

      public String toString()
      Overrides:
      toString in class Object