org.apache.catalina.cluster.tcp
Class PooledSocketSender

java.lang.Object
  extended byorg.apache.catalina.cluster.tcp.DataSender
      extended byorg.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.