Class TCPConnectionManager
java.lang.Object
com.biglybt.core.networkmanager.impl.tcp.TCPConnectionManager
Manages new connection establishment and ended connection termination.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
static interface
Listener for notification of connection establishment. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final List
<TCPConnectionManager.ConnectListener> private static final int
private static final int
(package private) static int
(package private) static int
private final VirtualChannelSelector
private static final int
private long
private final Map
<SocketChannel, Long> (package private) boolean
(package private) String
(package private) int
private static final LogIDs
private boolean
(package private) static int
static int
(package private) static int
(package private) final AEMonitor
(package private) final Set
<TCPConnectionManager.ConnectionRequest> (package private) final Map
<TCPConnectionManager.ConnectionRequest, Object> (package private) final LinkedList
<SocketChannel> private final AEMonitor
(package private) final Map
<TCPConnectionManager.ConnectionRequest, Object> (package private) int
private static final boolean
(package private) int
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
private void
void
cancelRequest
(TCPConnectionManager.ConnectListener listener_key) Cancel a pending new connection request.void
closeConnection
(SocketChannel channel) Close the given connection.void
closeConnection
(SocketChannel channel, int delay) (package private) void
(package private) void
int
void
requestNewConnection
(InetSocketAddress address, TCPConnectionManager.ConnectListener listener, int connect_timeout, int priority) void
requestNewConnection
(InetSocketAddress address, AEProxyFactory.PluginProxy plugin_proxy, TCPConnectionManager.ConnectListener listener, int priority) Request that a new connection be made out to the given address.private void
requestNewConnection
(InetSocketAddress address, AEProxyFactory.PluginProxy plugin_proxy, TCPConnectionManager.ConnectListener listener, int connect_timeout, int priority) (package private) void
-
Field Details
-
LOGID
-
CONNECT_TIMEOUT_MIN
private static final int CONNECT_TIMEOUT_MIN- See Also:
-
CONNECT_SELECT_LOOP_TIME
static int CONNECT_SELECT_LOOP_TIME -
CONNECT_SELECT_LOOP_MIN_TIME
static int CONNECT_SELECT_LOOP_MIN_TIME -
MIN_SIMULTANEOUS_CONNECT_ATTEMPTS
static int MIN_SIMULTANEOUS_CONNECT_ATTEMPTS -
MAX_SIMULTANEOUS_CONNECT_ATTEMPTS
public static int MAX_SIMULTANEOUS_CONNECT_ATTEMPTS -
max_outbound_connections
static int max_outbound_connections -
rcv_size
int rcv_size -
snd_size
int snd_size -
ip_tos
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:
-
CONNECT_ATTEMPT_STALL_TIME
private static final int CONNECT_ATTEMPT_STALL_TIME- See Also:
-
SHOW_CONNECT_STATS
private static final boolean SHOW_CONNECT_STATS- See Also:
-
connect_selector
-
connection_request_id_next
private long connection_request_id_next -
new_requests
-
canceled_requests
-
new_canceled_mon
-
pending_attempts
-
pending_pp_attempts
-
pending_closes
-
delayed_closes
-
pending_closes_mon
-
max_conn_exceeded_logged
private boolean max_conn_exceeded_logged
-
-
Constructor Details
-
TCPConnectionManager
public TCPConnectionManager()
-
-
Method Details
-
getMaxOutboundPermitted
public int getMaxOutboundPermitted() -
addNewOutboundRequests
void addNewOutboundRequests() -
addNewRequest
-
finishConnect
-
runSelect
void runSelect() -
doClosings
void doClosings() -
requestNewConnection
public void requestNewConnection(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 tolistener
- to receive notification of connect attempt success/failure
-
requestNewConnection
public void requestNewConnection(InetSocketAddress address, TCPConnectionManager.ConnectListener listener, int connect_timeout, int priority) -
requestNewConnection
private void requestNewConnection(InetSocketAddress address, AEProxyFactory.PluginProxy plugin_proxy, TCPConnectionManager.ConnectListener listener, int connect_timeout, int priority) -
closeConnection
Close the given connection.- Parameters:
channel
- to close
-
closeConnection
-
cancelRequest
Cancel a pending new connection request.- Parameters:
listener_key
- used in the initial connect request
-