org.jgroups.blocks

## Class BasicConnectionTable

- java.lang.Object
- - org.jgroups.blocks.BasicConnectionTable

- Direct Known Subclasses:
    ConnectionTableNIO

      public abstract class BasicConnectionTable
      extends java.lang.Object

  Shared class for TCP connection tables.
  Author:
    Scott Marlow

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static interface` | `BasicConnectionTable.ConnectionListener` Used to be notified about connection establishment and teardown.
    `static interface` | `BasicConnectionTable.Receiver` Used for message reception.

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected Log` | `log`
    `protected SocketFactory` | `socket_factory`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `BasicConnectionTable()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addConnectionListener(BasicConnectionTable.ConnectionListener l)`
    `int` | `getLinger()`
    `Address` | `getLocalAddress()`
    `static int` | `getNumberOfConnectionCreations()`
    `int` | `getNumConnections()`
    `int` | `getPeerAddressReadTimeout()`
    `int` | `getReceiveBufferSize()`
    `int` | `getSendBufferSize()`
    `int` | `getSendQueueSize()`
    `int` | `getSocketConnectionTimeout()`
    `SocketFactory` | `getSocketFactory()`
    `boolean` | `getTcpNodelay()`
    `ThreadFactory` | `getThreadFactory()`
    `boolean` | `getUseSendQueues()`
    `void` | `receive(Address sender, byte[] data, int offset, int length)` Calls the receiver callback.
    `void` | `removeConnection(Address addr)` Remove `addr`from connection table.
    `void` | `removeConnectionListener(BasicConnectionTable.ConnectionListener l)`
    `void` | `retainAll(java.util.Collection<Address> current_mbrs)` Removes all connections from ConnectionTable which are not in current_mbrs
    `void` | `send(Address dest, byte[] data, int offset, int length)`
    `void` | `setLinger(int linger)`
    `void` | `setPeerAddressReadTimeout(int peer_addr_read_timeout)`
    `void` | `setReceiveBufferSize(int recv_buf_size)`
    `void` | `setReceiver(BasicConnectionTable.Receiver r)`
    `void` | `setSendBufferSize(int send_buf_size)`
    `void` | `setSendQueueSize(int send_queue_size)`
    `void` | `setSocketConnectionTimeout(int sock_conn_timeout)`
    `void` | `setSocketFactory(SocketFactory socket_factory)`
    `void` | `setTcpNodelay(boolean tcp_nodelay)`
    `void` | `setThreadFactory(ThreadFactory factory)`
    `void` | `setUseSendQueues(boolean flag)`
    `void` | `start()`
    `void` | `stop()`
    `java.lang.String` | `toString()`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### log

          protected final Log log

    - #### socket_factory

          protected SocketFactory socket_factory

  - ### Constructor Detail

    - #### BasicConnectionTable

          protected BasicConnectionTable()

  - ### 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()

    - #### getSocketFactory

          public SocketFactory getSocketFactory()

    - #### setSocketFactory

          public void setSocketFactory(SocketFactory socket_factory)

    - #### 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)

      Remove `addr`from 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:
        `toString` in class `java.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` -

Copyright © 1998-2009 Bela Ban / Red Hat. All Rights Reserved.