# Class PooledSender

java.lang.Object
org.apache.catalina.tribes.transport.AbstractSender
org.apache.catalina.tribes.transport.PooledSender

All Implemented Interfaces:
  `DataSender, MultiPointSender`

Direct Known Subclasses:
  `PooledMultiSender, PooledParallelSender`

public abstract class PooledSender extends AbstractSender implements MultiPointSender

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static final StringManager`
  `sm`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PooledSender()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `add(Member member)`
  Send to the specified member.
  `void`
  `connect()`
  Connect.
  `void`
  `disconnect()`
  Disconnect.
  `int`
  `getInPoolSize()`
  `int`
  `getInUsePoolSize()`
  `long`
  `getMaxWait()`
  `abstract DataSender`
  `getNewDataSender()`
  `int`
  `getPoolSize()`
  `DataSender`
  `getSender()`
  `boolean`
  `keepalive()`
  Keepalive.
  `void`
  `remove(Member member)`
  Stop sending to the specified member.
  `void`
  `returnSender(DataSender sender)`
  `void`
  `setMaxWait(long maxWait)`
  `void`
  `setPoolSize(int poolSize)`

  ### Methods inherited from class AbstractSender

  `getAddress, getAttempt, getConnectTime, getDestination, getDirectBuffer, getKeepAliveCount, getKeepAliveTime, getMaxRetryAttempts, getOoBInline, getPort, getRequestCount, getRxBufSize, getSoKeepAlive, getSoLingerOn, getSoLingerTime, getSoReuseAddress, getSoTrafficClass, getTcpNoDelay, getThrowOnFailedAck, getTimeout, getTxBufSize, getUdpPort, getUdpRxBufSize, getUdpTxBufSize, isConnected, isUdpBased, setAddress, setAttempt, setConnected, setConnectTime, setDestination, setDirectBuffer, setKeepAliveCount, setKeepAliveTime, setMaxRetryAttempts, setOoBInline, setPort, setRequestCount, setRxBufSize, setSoKeepAlive, setSoLingerOn, setSoLingerTime, setSoReuseAddress, setSoTrafficClass, setTcpNoDelay, setThrowOnFailedAck, setTimeout, setTxBufSize, setUdpBased, setUdpPort, setUdpRxBufSize, setUdpTxBufSize, transferProperties`

  ### Methods inherited from class Object

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

  ### Methods inherited from interface DataSender

  `getConnectTime, getRequestCount, isConnected, setKeepAliveCount, setKeepAliveTime, setRxBufSize, setTimeout, setTxBufSize`

  ### Methods inherited from interface MultiPointSender

  `sendMessage, setDirectBuffer, setMaxRetryAttempts`

- ## Field Details

  - ### sm

    protected static final StringManager sm

- ## Constructor Details

  - ### PooledSender

    public PooledSender()

- ## Method Details

  - ### getNewDataSender

    public abstract DataSender getNewDataSender()

  - ### getSender

    public DataSender getSender()

  - ### returnSender

    public void returnSender(DataSender sender)

  - ### connect

    public void connect() throws IOException
    Description copied from interface: `DataSender`
    Connect.
    Specified by:
      `connect` in interface `DataSender`
    Throws:
      `IOException` - when an error occurs

  - ### disconnect

    public void disconnect()
    Description copied from interface: `DataSender`
    Disconnect.
    Specified by:
      `disconnect` in interface `DataSender`

  - ### getInPoolSize

    public int getInPoolSize()

  - ### getInUsePoolSize

    public int getInUsePoolSize()

  - ### setPoolSize

    public void setPoolSize(int poolSize)

  - ### getPoolSize

    public int getPoolSize()

  - ### getMaxWait

    public long getMaxWait()

  - ### setMaxWait

    public void setMaxWait(long maxWait)

  - ### keepalive

    public boolean keepalive()
    Description copied from interface: `DataSender`
    Keepalive.
    Specified by:
      `keepalive` in interface `DataSender`
    Overrides:
      `keepalive` in class `AbstractSender`
    Returns:
      `true` if kept alive

  - ### add

    public void add(Member member)
    Description copied from interface: `MultiPointSender`
    Send to the specified member.
    Specified by:
      `add` in interface `MultiPointSender`
    Parameters:
      `member` - the member

  - ### remove

    public void remove(Member member)
    Description copied from interface: `MultiPointSender`
    Stop sending to the specified member.
    Specified by:
      `remove` in interface `MultiPointSender`
    Parameters:
      `member` - the member