## org.apache.catalina.cluster.tcp
Class PooledSocketSender

    java.lang.Object
      org.apache.catalina.cluster.tcp.DataSender
          org.apache.catalina.cluster.tcp.PooledSocketSender

All Implemented Interfaces:
  IDataSender

public class PooledSocketSender
extends DataSender

Send cluster messages with a pool of sockets (25). FIXME support processing stats

Version:
  1.2
Author:
  Filip Hanik, Peter Rossbach

Field Summary

Fields inherited from class org.apache.catalina.cluster.tcp.DataSender
`connectCounter, createTime, dataFailureCounter, dataResendCounter, disconnectCounter, doProcessingStats, doWaitAckStats, keepAliveConnectTime, keepAliveCount, maxProcessingTime, maxWaitAckTime, minProcessingTime, minWaitAckTime, missingAckCounter, nrOfRequests, processingTime, sm, totalBytes, waitAckTime`

Constructor Summary
`PooledSocketSender(java.lang.String domain, java.net.InetAddress host, int port)`

Method Summary
`void` `connect()` Connect other cluster member receiver
`void` `disconnect()` disconnect and close socket
`java.lang.String` `getInfo()` Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
`int` `getInPoolSize()`
`int` `getInUsePoolSize()`
`int` `getMaxPoolSocketLimit()`
`void` `sendMessage(ClusterData data)` send message and use a pool of SocketSenders
`void` `setMaxPoolSocketLimit(int limit)`
`java.lang.String` `toString()` Name of this SockerSender

Methods inherited from class org.apache.catalina.cluster.tcp.DataSender

`addProcessingStats, addStats, addWaitAckStats, checkKeepAlive, closeSocket, createSocket, getAckTimeout, getAddress, getAvgMessageSize, getAvgProcessingTime, getAvgWaitAckTime, getConnectCounter, getCreateTime, getDataFailureCounter, getDataResendCounter, getDisconnectCounter, getDomain, getKeepAliveConnectTime, getKeepAliveCount, getKeepAliveMaxRequestCount, getKeepAliveTimeout, getMaxProcessingTime, getMaxWaitAckTime, getMinProcessingTime, getMinWaitAckTime, getMissingAckCounter, getNrOfRequests, getPort, getProcessingTime, getRxBufSize, getSenderState, getSocket, getSocketCloseCounter, getSocketOpenCounter, getSocketOpenFailureCounter, getSoLingerTime, getSoTrafficClass, getSuspect, getTimeout, getTotalBytes, getTxBufSize, getWaitAckTime, isConnected, isDoProcessingStats, isDoWaitAckStats, isMessageTransferStarted, isOoBInline, isResend, isSoKeepAlive, isSoLingerOn, isSoReuseAddress, isSuspect, isTcpNoDelay, isWaitForAck, openSocket, pushMessage, resetStatistics, setAckTimeout, setAddress, setDomain, setDoProcessingStats, setDoWaitAckStats, setKeepAliveMaxRequestCount, setKeepAliveTimeout, setOoBInline, setPort, setResend, setRxBufSize, setSocket, setSocketConnected, setSoKeepAlive, setSoLingerOn, setSoLingerTime, setSoReuseAddress, setSoTrafficClass, setSuspect, setTcpNoDelay, setTimeout, setTxBufSize, setWaitForAck, waitForAck, writeData`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### PooledSocketSender

    public PooledSocketSender(java.lang.String domain,
                              java.net.InetAddress host,
                              int port)

Parameters:
  `domain` - replication cluster domain (session domain)
  `host` - replication node tcp address
  `port` - replication node tcp port

Method Detail

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.

  Overrides:
    `getInfo` in class `DataSender`

### setMaxPoolSocketLimit

    public void setMaxPoolSocketLimit(int limit)

### getMaxPoolSocketLimit

    public int getMaxPoolSocketLimit()

### getInPoolSize

    public int getInPoolSize()

### getInUsePoolSize

    public int getInUsePoolSize()

### connect

    public void connect()
                 throws java.io.IOException

  Description copied from class: `DataSender`
  Connect other cluster member receiver

  Specified by:
    `connect` in interface `IDataSender`
  Overrides:
    `connect` in class `DataSender`
  Throws:
    `java.io.IOException`
  See Also:
    `IDataSender.connect()`

### disconnect

    public void disconnect()

  Description copied from class: `DataSender`
  disconnect and close socket

  Specified by:
    `disconnect` in interface `IDataSender`
  Overrides:
    `disconnect` in class `DataSender`
  See Also:
    `IDataSender.disconnect()`

### sendMessage

    public void sendMessage(ClusterData data)
                     throws java.io.IOException

  send message and use a pool of SocketSenders

  Specified by:
    `sendMessage` in interface `IDataSender`
  Overrides:
    `sendMessage` in class `DataSender`
  Parameters:
    `data` - Message data
  Throws:
    `java.io.IOException`
  See Also:
    `IDataSender.sendMessage(, ClusterData)`

### toString

    public java.lang.String toString()

  Description copied from class: `DataSender`
  Name of this SockerSender

  Overrides:
    `toString` in class `DataSender`

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.