|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jgroups.blocks.BasicConnectionTable
org.jgroups.blocks.ConnectionTable
public class ConnectionTable
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.
| Nested Class Summary |
|---|
| Nested classes/interfaces inherited from class org.jgroups.blocks.BasicConnectionTable |
|---|
BasicConnectionTable.ConnectionListener, BasicConnectionTable.Receiver |
| Field Summary |
|---|
| Fields inherited from class org.jgroups.blocks.BasicConnectionTable |
|---|
log, socket_factory |
| Constructor Summary | |
|---|---|
ConnectionTable(BasicConnectionTable.Receiver r,
java.net.InetAddress bind_addr,
java.net.InetAddress external_addr,
int srv_port,
int max_port)
Create a ConnectionTable |
|
ConnectionTable(BasicConnectionTable.Receiver r,
java.net.InetAddress bind_addr,
java.net.InetAddress external_addr,
int srv_port,
int max_port,
long reaper_interval,
long conn_expire_time)
ConnectionTable including a connection reaper. |
|
ConnectionTable(java.net.InetAddress bind_addr,
int srv_port)
|
|
ConnectionTable(int srv_port)
Regular ConnectionTable without expiration of idle connections |
|
ConnectionTable(int srv_port,
long reaper_interval,
long conn_expire_time)
ConnectionTable including a connection reaper. |
|
| Method Summary | |
|---|---|
protected java.net.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 |
start()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public ConnectionTable(int srv_port)
throws java.lang.Exception
srv_port - The port on which the server will listen. If this port is reserved, the next
free port will be taken (incrementing srv_port).
java.lang.Exception
public ConnectionTable(java.net.InetAddress bind_addr,
int srv_port)
throws java.lang.Exception
java.lang.Exception
public ConnectionTable(int srv_port,
long reaper_interval,
long conn_expire_time)
throws java.lang.Exception
srv_port - The port on which the server will listenreaper_interval - Number of milliseconds to wait for reaper between attepts to reap idle connectionsconn_expire_time - Number of milliseconds a connection can be idle (no traffic sent or received until
it will be reaped
java.lang.Exception
public ConnectionTable(BasicConnectionTable.Receiver r,
java.net.InetAddress bind_addr,
java.net.InetAddress external_addr,
int srv_port,
int max_port)
throws java.lang.Exception
r - A reference to a receiver of all messages received by this class. Method receive()
will be called.bind_addr - The host name or IP address of the interface to which the server socket will bind.
This is interesting only in multi-homed systems. If bind_addr is null, the
server socket will bind to the first available interface (e.g. /dev/hme0 on
Solaris or /dev/eth0 on Linux systems).external_addr - The address which will be broadcast to the group (the externally visible address
which this host should be contacted on). If external_addr is null, it will default to
the same address that the server socket is bound to.srv_port - The port to which the server socket will bind to. If this port is reserved, the next
free port will be taken (incrementing srv_port).max_port - The largest port number that the server socket will be bound to. If max_port < srv_port
then there is no limit.
java.lang.Exception
public ConnectionTable(BasicConnectionTable.Receiver r,
java.net.InetAddress bind_addr,
java.net.InetAddress external_addr,
int srv_port,
int max_port,
long reaper_interval,
long conn_expire_time)
throws java.lang.Exception
r - The Receiverbind_addr - The host name or IP address of the interface to which the server socket will bind.
This is interesting only in multi-homed systems. If bind_addr is null, the
server socket will bind to the first available interface (e.g. /dev/hme0 on
Solaris or /dev/eth0 on Linux systems).external_addr - The address which will be broadcast to the group (the externally visible address
which this host should be contacted on). If external_addr is null, it will default to
the same address that the server socket is bound to.srv_port - The port to which the server socket will bind to. If this port is reserved, the next
free port will be taken (incrementing srv_port).max_port - The largest port number that the server socket will be bound to. If max_port < srv_port
then there is no limit.reaper_interval - Number of milliseconds to wait for reaper between attepts to reap idle connectionsconn_expire_time - Number of milliseconds a connection can be idle (no traffic sent or received until
it will be reaped
java.lang.Exception| Method Detail |
|---|
public final void start()
throws java.lang.Exception
start in class BasicConnectionTablejava.lang.Exception
protected void init()
throws java.lang.Exception
java.lang.Exceptionpublic void run()
run in interface java.lang.Runnable
protected java.net.ServerSocket createServerSocket(int start_port,
int end_port)
throws java.lang.Exception
java.lang.Exception
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||