Interface SSU2Payload.PayloadCallback

  • All Known Implementing Classes:
    InboundEstablishState2, OutboundEstablishState2, PeerState2
    Enclosing class:
    SSU2Payload

    public static interface SSU2Payload.PayloadCallback
    For all callbacks, recommend throwing exceptions only from the handshake. Exceptions will get thrown out of processPayload() and prevent processing of succeeding blocks.
    • Method Detail

      • gotFragment

        void gotFragment​(byte[] data,
                         int off,
                         int len,
                         long messageID,
                         int frag,
                         boolean isLast)
                  throws DataFormatException
        Data must be copied out in this method. Data starts at the 9 byte header for fragment 0.
        Parameters:
        off - offset in data
        len - length of data to copy
        Throws:
        DataFormatException
      • gotACK

        void gotACK​(long ackThru,
                    int acks,
                    byte[] ranges)
        Parameters:
        ranges - null if none
      • gotRIFragment

        void gotRIFragment​(byte[] data,
                           boolean isHandshake,
                           boolean flood,
                           boolean isGzipped,
                           int frag,
                           int totalFrags)
        Parameters:
        data - is first gzipped and then fragmented
        isHandshake - true only for message 3 part 2
      • gotAddress

        void gotAddress​(byte[] ip,
                        int port)
      • gotRelayTagRequest

        void gotRelayTagRequest()
      • gotRelayTag

        void gotRelayTag​(long tag)
      • gotRelayRequest

        void gotRelayRequest​(byte[] data)
        Parameters:
        data - excludes flag, includes signature
      • gotRelayResponse

        void gotRelayResponse​(int status,
                              byte[] data)
        Parameters:
        status - 0 = accept, 1-255 = reject
        data - excludes flag, includes signature
      • gotRelayIntro

        void gotRelayIntro​(Hash aliceHash,
                           byte[] data)
        Parameters:
        data - excludes flag, includes signature
      • gotPeerTest

        void gotPeerTest​(int msg,
                         int status,
                         Hash h,
                         byte[] data)
        Parameters:
        msg - 1-7
        status - 0 = accept, 1-255 = reject
        h - Alice or Charlie hash for msg 2 and 4, null for msg 1, 3, 5-7
        data - excludes flag, includes signature
      • gotToken

        void gotToken​(long token,
                      long expires)
      • gotTermination

        void gotTermination​(int reason,
                            long lastReceived)
        Parameters:
        lastReceived - in theory could wrap around to negative, but very unlikely