Class TCPTransportImpl

    • Field Detail

      • LOGID

        static final LogIDs LOGID
      • description

        java.lang.String description
      • is_inbound_connection

        final boolean is_inbound_connection
      • transport_mode

        private int transport_mode
      • has_been_closed

        public volatile boolean has_been_closed
      • connect_with_crypto

        boolean connect_with_crypto
      • shared_secrets

        private byte[][] shared_secrets
      • fallback_count

        int fallback_count
      • fallback_allowed

        final boolean fallback_allowed
      • is_socks

        boolean is_socks
    • Constructor Detail

      • TCPTransportImpl

        public TCPTransportImpl​(ProtocolEndpointTCP endpoint,
                                boolean use_crypto,
                                boolean allow_fallback,
                                byte[][] _shared_secrets)
        Constructor for disconnected (outbound) transport.
      • TCPTransportImpl

        public TCPTransportImpl​(ProtocolEndpointTCP endpoint,
                                TransportHelperFilter filter)
        Constructor for connected (inbound) transport.
        Parameters:
        channel - connection
        already_read - bytes from the channel
    • Method Detail

      • getSocketChannel

        public java.nio.channels.SocketChannel getSocketChannel()
        Get the socket channel used by the transport.
        Returns:
        the socket channel
      • getDescription

        public java.lang.String getDescription()
        Get a textual description for this transport.
        Specified by:
        getDescription in interface TransportBase
        Returns:
        description
      • connectOutbound

        public void connectOutbound​(java.nio.ByteBuffer initial_data,
                                    Transport.ConnectListener listener,
                                    int priority)
        Request the transport connection be established. NOTE: Will automatically connect via configured proxy if necessary.
        Specified by:
        connectOutbound in interface Transport
        Parameters:
        address - remote peer address to connect to
        listener - establishment failure/success listener
      • handleCrypto

        protected void handleCrypto​(java.net.InetSocketAddress address,
                                    java.nio.channels.SocketChannel channel,
                                    java.nio.ByteBuffer initial_data,
                                    int priority,
                                    Transport.ConnectListener listener)
      • setTransportBuffersSize

        private void setTransportBuffersSize​(int size_in_bytes)
      • setTransportMode

        public void setTransportMode​(int mode)
        Set the transport to the given speed mode.
        Specified by:
        setTransportMode in interface Transport
        Parameters:
        mode - to change to
      • connectedOutbound

        protected void connectedOutbound​(java.nio.ByteBuffer remaining_initial_data,
                                         Transport.ConnectListener listener)
      • getTransportMode

        public int getTransportMode()
        Get the transport's speed mode.
        Specified by:
        getTransportMode in interface Transport
        Returns:
        current mode
      • close

        protected void close​(TransportHelper helper,
                             java.lang.String reason)
      • setConnectResult

        void setConnectResult​(boolean ok)
      • close

        public void close​(java.lang.String reason)
        Close the transport connection.
        Specified by:
        close in interface Transport