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 classstatic interfaceListener for notification of connection establishment. -
Field Summary
FieldsModifier and TypeFieldDescription(package private) final List<TCPConnectionManager.ConnectListener> private static final intprivate static final int(package private) static int(package private) static intprivate final VirtualChannelSelectorprivate static final intprivate longprivate final Map<SocketChannel, Long> (package private) boolean(package private) String(package private) intprivate static final LogIDsprivate boolean(package private) static intstatic 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) intprivate static final boolean(package private) int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidprivate voidvoidcancelRequest(TCPConnectionManager.ConnectListener listener_key) Cancel a pending new connection request.voidcloseConnection(SocketChannel channel) Close the given connection.voidcloseConnection(SocketChannel channel, int delay) (package private) void(package private) voidintvoidrequestNewConnection(InetSocketAddress address, TCPConnectionManager.ConnectListener listener, int connect_timeout, int priority) voidrequestNewConnection(InetSocketAddress address, AEProxyFactory.PluginProxy plugin_proxy, TCPConnectionManager.ConnectListener listener, int priority) Request that a new connection be made out to the given address.private voidrequestNewConnection(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
-