Package org.jgroups.blocks
Class BasicConnectionTable
- java.lang.Object
-
- org.jgroups.blocks.BasicConnectionTable
-
- Direct Known Subclasses:
ConnectionTable,ConnectionTableNIO
public abstract class BasicConnectionTable extends java.lang.ObjectShared class for TCP connection tables.- Author:
- Scott Marlow, Bela Ban
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceBasicConnectionTable.ConnectionListenerUsed to be notified about connection establishment and teardown.static interfaceBasicConnectionTable.ReceiverUsed for message reception.
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.logging.Loglogprotected PortsManagerpm
-
Constructor Summary
Constructors Modifier Constructor Description protectedBasicConnectionTable()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddConnectionListener(BasicConnectionTable.ConnectionListener l)intgetLinger()AddressgetLocalAddress()static intgetNumberOfConnectionCreations()intgetNumConnections()intgetPeerAddressReadTimeout()intgetReceiveBufferSize()intgetSendBufferSize()intgetSendQueueSize()intgetSocketConnectionTimeout()booleangetTcpNodelay()ThreadFactorygetThreadFactory()booleangetUseSendQueues()voidreceive(Address sender, byte[] data, int offset, int length)Calls the receiver callback.voidremoveConnection(Address addr)Removeaddrfrom connection table.voidremoveConnectionListener(BasicConnectionTable.ConnectionListener l)voidretainAll(java.util.Collection<Address> current_mbrs)Removes all connections from ConnectionTable which are not in current_mbrsvoidsend(Address dest, byte[] data, int offset, int length)voidsetLinger(int linger)voidsetPeerAddressReadTimeout(int peer_addr_read_timeout)voidsetReceiveBufferSize(int recv_buf_size)voidsetReceiver(BasicConnectionTable.Receiver r)voidsetSendBufferSize(int send_buf_size)voidsetSendQueueSize(int send_queue_size)voidsetSocketConnectionTimeout(int sock_conn_timeout)voidsetTcpNodelay(boolean tcp_nodelay)voidsetThreadFactory(ThreadFactory factory)voidsetUseSendQueues(boolean flag)voidstart()voidstop()java.lang.StringtoString()
-
-
-
Field Detail
-
log
protected final org.apache.commons.logging.Log log
-
pm
protected PortsManager pm
-
-
Method Detail
-
setReceiver
public final void setReceiver(BasicConnectionTable.Receiver r)
-
addConnectionListener
public void addConnectionListener(BasicConnectionTable.ConnectionListener l)
-
removeConnectionListener
public void removeConnectionListener(BasicConnectionTable.ConnectionListener l)
-
getLocalAddress
public Address getLocalAddress()
-
getSendBufferSize
public int getSendBufferSize()
-
setSendBufferSize
public void setSendBufferSize(int send_buf_size)
-
getReceiveBufferSize
public int getReceiveBufferSize()
-
setReceiveBufferSize
public void setReceiveBufferSize(int recv_buf_size)
-
getSocketConnectionTimeout
public int getSocketConnectionTimeout()
-
setSocketConnectionTimeout
public void setSocketConnectionTimeout(int sock_conn_timeout)
-
getPeerAddressReadTimeout
public int getPeerAddressReadTimeout()
-
setPeerAddressReadTimeout
public void setPeerAddressReadTimeout(int peer_addr_read_timeout)
-
getNumConnections
public int getNumConnections()
-
getNumberOfConnectionCreations
public static int getNumberOfConnectionCreations()
-
getTcpNodelay
public boolean getTcpNodelay()
-
setTcpNodelay
public void setTcpNodelay(boolean tcp_nodelay)
-
getLinger
public int getLinger()
-
setLinger
public void setLinger(int linger)
-
setThreadFactory
public void setThreadFactory(ThreadFactory factory)
-
getThreadFactory
public ThreadFactory getThreadFactory()
-
getUseSendQueues
public boolean getUseSendQueues()
-
setUseSendQueues
public void setUseSendQueues(boolean flag)
-
getSendQueueSize
public int getSendQueueSize()
-
setSendQueueSize
public void setSendQueueSize(int send_queue_size)
-
start
public void start() throws java.lang.Exception- Throws:
java.lang.Exception
-
stop
public void stop()
-
removeConnection
public void removeConnection(Address addr)
Removeaddrfrom connection table. This is typically triggered when a member is suspected.
-
receive
public void receive(Address sender, byte[] data, int offset, int length)
Calls the receiver callback. We do not serialize access to this method, and it may be called concurrently by several Connection handler threads. Therefore the receiver needs to be reentrant.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
send
public void send(Address dest, byte[] data, int offset, int length) throws java.lang.Exception
- Throws:
java.lang.Exception
-
retainAll
public void retainAll(java.util.Collection<Address> current_mbrs)
Removes all connections from ConnectionTable which are not in current_mbrs- Parameters:
current_mbrs-
-
-