Class TCPConnectionManager


  • public class TCPConnectionManager
    extends java.lang.Object
    Manages new connection establishment and ended connection termination.
    • Field Detail

      • LOGID

        private static final LogIDs LOGID
      • CONNECT_SELECT_LOOP_TIME

        static int CONNECT_SELECT_LOOP_TIME
      • CONNECT_SELECT_LOOP_MIN_TIME

        static int CONNECT_SELECT_LOOP_MIN_TIME
      • MIN_SIMULTANIOUS_CONNECT_ATTEMPTS

        static int MIN_SIMULTANIOUS_CONNECT_ATTEMPTS
      • MAX_SIMULTANIOUS_CONNECT_ATTEMPTS

        public static int MAX_SIMULTANIOUS_CONNECT_ATTEMPTS
      • max_outbound_connections

        static int max_outbound_connections
      • rcv_size

        int rcv_size
      • snd_size

        int snd_size
      • ip_tos

        java.lang.String ip_tos
      • local_bind_port

        int local_bind_port
      • ignore_bind_for_lan_addresses

        boolean ignore_bind_for_lan_addresses
      • CONNECT_ATTEMPT_TIMEOUT

        private static final int CONNECT_ATTEMPT_TIMEOUT
        See Also:
        Constant Field Values
      • CONNECT_ATTEMPT_STALL_TIME

        private static final int CONNECT_ATTEMPT_STALL_TIME
        See Also:
        Constant Field Values
      • connection_request_id_next

        private long connection_request_id_next
      • new_canceled_mon

        final AEMonitor new_canceled_mon
      • pending_closes

        final java.util.LinkedList<java.nio.channels.SocketChannel> pending_closes
      • delayed_closes

        private final java.util.Map<java.nio.channels.SocketChannel,​java.lang.Long> delayed_closes
      • pending_closes_mon

        private final AEMonitor pending_closes_mon
      • max_conn_exceeded_logged

        private boolean max_conn_exceeded_logged
    • Constructor Detail

      • TCPConnectionManager

        public TCPConnectionManager()
    • Method Detail

      • getMaxOutboundPermitted

        public int getMaxOutboundPermitted()
      • addNewOutboundRequests

        void addNewOutboundRequests()
      • runSelect

        void runSelect()
      • doClosings

        void doClosings()
      • requestNewConnection

        public void requestNewConnection​(java.net.InetSocketAddress address,
                                         AEProxyFactory.PluginProxy plugin_proxy,
                                         TCPConnectionManager.ConnectListener listener,
                                         int priority)
        Request that a new connection be made out to the given address.
        Parameters:
        address - remote ip+port to connect to
        listener - to receive notification of connect attempt success/failure
      • requestNewConnection

        public void requestNewConnection​(java.net.InetSocketAddress address,
                                         TCPConnectionManager.ConnectListener listener,
                                         int connect_timeout,
                                         int priority)
      • closeConnection

        public void closeConnection​(java.nio.channels.SocketChannel channel)
        Close the given connection.
        Parameters:
        channel - to close
      • closeConnection

        public void closeConnection​(java.nio.channels.SocketChannel channel,
                                    int delay)
      • cancelRequest

        public void cancelRequest​(TCPConnectionManager.ConnectListener listener_key)
        Cancel a pending new connection request.
        Parameters:
        listener_key - used in the initial connect request