Class BasicConnectionTable

  • Direct Known Subclasses:
    ConnectionTable, ConnectionTableNIO

    public abstract class BasicConnectionTable
    extends java.lang.Object
    Shared class for TCP connection tables.
    Author:
    Scott Marlow, Bela Ban
    • Field Detail

      • log

        protected final org.apache.commons.logging.Log log
    • Constructor Detail

      • BasicConnectionTable

        protected BasicConnectionTable()
    • Method Detail

      • 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)
      • 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 addrfrom 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 -