Class InboundEstablishState

    • Method Detail

      • receive

        public void receive​(ByteBuffer src)
        Parse the contents of the buffer as part of the handshake. All data must be copied out of the buffer as Reader.processRead() will return it to the pool. If there are additional data in the buffer after the handshake is complete, the EstablishState is responsible for passing it to NTCPConnection.
        Specified by:
        receive in interface EstablishState
        Overrides:
        receive in class EstablishBase
      • gotRI

        public void gotRI​(RouterInfo ri,
                          boolean isHandshake,
                          boolean flood)
                   throws DataFormatException
        Get "s" static key out of RI, compare to what we got in the handshake. Tell NTCPConnection who it is.
        Specified by:
        gotRI in interface NTCP2Payload.PayloadCallback
        Parameters:
        isHandshake - always true
        ri - will already be validated
        Throws:
        DataFormatException - on bad sig, unknown SigType, no static key, static key mismatch, IP checks in verifyInbound()
        Since:
        0.9.36
      • gotOptions

        public void gotOptions​(byte[] options,
                               boolean isHandshake)
        Specified by:
        gotOptions in interface NTCP2Payload.PayloadCallback
        isHandshake - true only for message 3 part 2
        Since:
        0.9.36
      • gotPadding

        public void gotPadding​(int paddingLength,
                               int frameLength)
        Description copied from interface: NTCP2Payload.PayloadCallback
        For stats.
        Specified by:
        gotPadding in interface NTCP2Payload.PayloadCallback
        Parameters:
        paddingLength - the number of padding bytes, not including the 3-byte block header
        frameLength - the total size of the frame, including all blocks and block headers
        Since:
        0.9.36
      • gotTermination

        public void gotTermination​(int reason,
                                   long lastReceived)
        Specified by:
        gotTermination in interface NTCP2Payload.PayloadCallback
        lastReceived - in theory could wrap around to negative, but very unlikely
        Since:
        0.9.36
      • releaseBufs

        protected void releaseBufs​(boolean isVerified)
        Only call once. Caller must synch.
        Overrides:
        releaseBufs in class EstablishBase
        Since:
        0.9.16