org.jgroups.blocks
Class ConnectionTableNIO
public
class
ConnectionTableNIO
extends ConnectionTable
implements Runnable
Manages incoming and outgoing TCP connections. For each outgoing message to destination P, if there
is not yet a connection for P, one will be created. Subsequent outgoing messages will use this
connection. For incoming messages, one server socket is created at startup. For each new incoming
client connecting, a new thread from a thread pool is allocated and listens for incoming messages
until the socket is closed by the peer.
Sockets/threads with no activity will be killed
after some time.
Incoming messages from any of the sockets can be received by setting the message listener.
Author: Bela Ban, Scott Marlow, Alex Fu
Constructor Summary |
| ConnectionTableNIO(int srv_port) |
| ConnectionTableNIO(int srv_port, long reaper_interval, long conn_expire_time) |
| ConnectionTableNIO(Receiver r, InetAddress bind_addr, InetAddress external_addr, int srv_port, int max_port) |
| ConnectionTableNIO(Receiver r, InetAddress bind_addr, InetAddress external_addr, int srv_port, int max_port, long reaper_interval, long conn_expire_time) |
Method Summary |
protected ServerSocket | createServerSocket(int start_port, int end_port)
Finds first available port starting at start_port and returns server socket. |
protected void | init() |
void | run()
Acceptor thread. |
void | stop()
Closes all open sockets, the server socket and all threads waiting for incoming messages |
protected static final Log LOG
public ConnectionTableNIO(int srv_port)
Parameters: srv_port
Throws: Exception
public ConnectionTableNIO(int srv_port, long reaper_interval, long conn_expire_time)
Parameters: srv_port reaper_interval conn_expire_time
Throws: Exception
public ConnectionTableNIO(Receiver r, InetAddress bind_addr, InetAddress external_addr, int srv_port, int max_port)
Parameters: r bind_addr external_addr srv_port max_port
Throws: Exception
public ConnectionTableNIO(Receiver r, InetAddress bind_addr, InetAddress external_addr, int srv_port, int max_port, long reaper_interval, long conn_expire_time)
Parameters: r bind_addr external_addr srv_port max_port reaper_interval conn_expire_time
Throws: Exception
protected ServerSocket createServerSocket(int start_port, int end_port)
Finds first available port starting at start_port and returns server socket. Sets srv_port
protected void init()
public void run()
Acceptor thread. Continuously accept new connections and assign readhandler/writehandler
to them.
public void stop()
Closes all open sockets, the server socket and all threads waiting for incoming messages
Copyright ? 1998-2005 Bela Ban. All Rights Reserved.