|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.catalina.cluster.tcp.DataSender
Send cluster messages with only one socket. Ack and keep Alive Handling is supported
Field Summary | |
protected long |
connectCounter
number of connects |
protected long |
createTime
createTime |
protected long |
dataFailureCounter
number of data failure sends |
protected long |
dataResendCounter
number of data resends (second trys after socket failure) |
protected long |
disconnectCounter
number of explizit disconnects |
protected boolean |
doProcessingStats
doProcessingStats |
protected boolean |
doWaitAckStats
doWaitAckStats |
protected long |
keepAliveConnectTime
Last connect timestamp |
protected int |
keepAliveCount
keepalive counter |
protected long |
maxProcessingTime
max proessingTime |
protected long |
maxWaitAckTime
max waitAckTime |
protected long |
minProcessingTime
min proessingTime |
protected long |
minWaitAckTime
min waitAckTime |
protected long |
missingAckCounter
number of failing acks |
protected long |
nrOfRequests
number of requests |
protected long |
processingTime
proessingTime |
protected static StringManager |
sm
The string manager for this package. |
protected long |
totalBytes
total bytes to transfer |
protected long |
waitAckTime
waitAckTime |
Constructor Summary | |
DataSender(java.lang.String domain,
java.net.InetAddress host,
int port)
|
|
DataSender(java.lang.String domain,
java.net.InetAddress host,
int port,
SenderState state)
|
Method Summary | |
protected void |
addProcessingStats(long startTime)
Add processing stats times |
protected void |
addStats(int length)
Add statistic for this socket instance |
protected void |
addWaitAckStats(long startTime)
Add waitAck stats times |
boolean |
checkKeepAlive()
Check, if time to close socket! |
protected void |
closeSocket()
close socket |
void |
connect()
Connect other cluster member receiver |
protected void |
createSocket()
Create new Socket and use actTimeout (>0) as connect timeout |
void |
disconnect()
disconnect and close socket |
long |
getAckTimeout()
Deprecated. since 5.5.25 use timeout instead |
java.net.InetAddress |
getAddress()
|
long |
getAvgMessageSize()
|
double |
getAvgProcessingTime()
|
double |
getAvgWaitAckTime()
|
long |
getConnectCounter()
|
long |
getCreateTime()
|
long |
getDataFailureCounter()
|
long |
getDataResendCounter()
|
long |
getDisconnectCounter()
|
java.lang.String |
getDomain()
|
java.lang.String |
getInfo()
Return descriptive information about this implementation and the corresponding version number, in the format <description>/<version> . |
long |
getKeepAliveConnectTime()
|
int |
getKeepAliveCount()
|
int |
getKeepAliveMaxRequestCount()
|
long |
getKeepAliveTimeout()
|
long |
getMaxProcessingTime()
|
long |
getMaxWaitAckTime()
|
long |
getMinProcessingTime()
|
long |
getMinWaitAckTime()
|
long |
getMissingAckCounter()
|
long |
getNrOfRequests()
|
int |
getPort()
|
long |
getProcessingTime()
|
int |
getRxBufSize()
|
SenderState |
getSenderState()
|
java.net.Socket |
getSocket()
|
int |
getSocketCloseCounter()
|
int |
getSocketOpenCounter()
|
int |
getSocketOpenFailureCounter()
|
int |
getSoLingerTime()
|
int |
getSoTrafficClass()
|
boolean |
getSuspect()
|
int |
getTimeout()
|
long |
getTotalBytes()
|
int |
getTxBufSize()
|
long |
getWaitAckTime()
|
boolean |
isConnected()
|
boolean |
isDoProcessingStats()
|
boolean |
isDoWaitAckStats()
|
boolean |
isMessageTransferStarted()
|
boolean |
isOoBInline()
|
boolean |
isResend()
|
boolean |
isSoKeepAlive()
|
boolean |
isSoLingerOn()
|
boolean |
isSoReuseAddress()
|
boolean |
isSuspect()
|
boolean |
isTcpNoDelay()
|
boolean |
isWaitForAck()
|
protected void |
openSocket()
open real socket and set time out when waitForAck is enabled is socket open return directly |
protected void |
pushMessage(ClusterData data)
Push messages with only one socket at a time Wait for ack is needed and make auto retry when write message is failed. |
void |
resetStatistics()
Reset sender statistics |
void |
sendMessage(ClusterData data)
Send message |
void |
setAckTimeout(long ackTimeout)
Deprecated. since 5.5.25 use timeout instead |
void |
setAddress(java.net.InetAddress address)
|
void |
setDomain(java.lang.String domain)
|
void |
setDoProcessingStats(boolean doProcessingStats)
|
void |
setDoWaitAckStats(boolean doWaitAckStats)
|
void |
setKeepAliveMaxRequestCount(int keepAliveMaxRequestCount)
|
void |
setKeepAliveTimeout(long keepAliveTimeout)
|
void |
setOoBInline(boolean ooBInline)
|
void |
setPort(int port)
|
void |
setResend(boolean resend)
|
void |
setRxBufSize(int rxBufSize)
|
void |
setSocket(java.net.Socket socket)
|
protected void |
setSocketConnected(boolean isSocketConnected)
|
void |
setSoKeepAlive(boolean soKeepAlive)
|
void |
setSoLingerOn(boolean soLingerOn)
|
void |
setSoLingerTime(int soLingerTime)
|
void |
setSoReuseAddress(boolean soReuseAddress)
|
void |
setSoTrafficClass(int soTrafficClass)
|
void |
setSuspect(boolean suspect)
|
void |
setTcpNoDelay(boolean tcpNoDelay)
|
void |
setTimeout(int timeout)
|
void |
setTxBufSize(int txBufSize)
|
void |
setWaitForAck(boolean waitForAck)
|
java.lang.String |
toString()
Name of this SockerSender |
protected void |
waitForAck(long timeout)
Wait for Acknowledgement from other server FIXME Please, not wait only for three charcters, better control that the wait ack message is correct. |
protected void |
writeData(ClusterData data)
Sent real cluster Message to socket stream FIXME send compress |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
protected static StringManager sm
protected long createTime
protected long nrOfRequests
protected long totalBytes
protected long connectCounter
protected long disconnectCounter
protected long missingAckCounter
protected long dataResendCounter
protected long dataFailureCounter
protected boolean doProcessingStats
protected long processingTime
protected long minProcessingTime
protected long maxProcessingTime
protected boolean doWaitAckStats
protected long waitAckTime
protected long minWaitAckTime
protected long maxWaitAckTime
protected long keepAliveConnectTime
protected int keepAliveCount
Constructor Detail |
public DataSender(java.lang.String domain, java.net.InetAddress host, int port)
public DataSender(java.lang.String domain, java.net.InetAddress host, int port, SenderState state)
Method Detail |
public java.lang.String getInfo()
<description>/<version>
.
public long getCreateTime()
public long getNrOfRequests()
public long getTotalBytes()
public long getAvgMessageSize()
public double getAvgProcessingTime()
public long getMaxProcessingTime()
public long getMinProcessingTime()
public long getProcessingTime()
public boolean isDoProcessingStats()
public void setDoProcessingStats(boolean doProcessingStats)
doProcessingStats
- The doProcessingStats to set.public boolean isDoWaitAckStats()
public void setDoWaitAckStats(boolean doWaitAckStats)
doWaitAckStats
- The doWaitAckStats to set.public double getAvgWaitAckTime()
public long getMaxWaitAckTime()
public long getMinWaitAckTime()
public long getWaitAckTime()
public long getConnectCounter()
public long getDisconnectCounter()
public long getMissingAckCounter()
public int getSocketOpenCounter()
public int getSocketOpenFailureCounter()
public int getSocketCloseCounter()
public long getDataResendCounter()
public long getDataFailureCounter()
public void setAddress(java.net.InetAddress address)
setAddress
in interface IDataSender
address
- The address to set.public java.net.InetAddress getAddress()
getAddress
in interface IDataSender
public void setPort(int port)
setPort
in interface IDataSender
port
- The port to set.public int getPort()
getPort
in interface IDataSender
public java.lang.String getDomain()
getDomain
in interface IDataSender
public void setDomain(java.lang.String domain)
setDomain
in interface IDataSender
domain
- The domain to set.public boolean isConnected()
isConnected
in interface IDataSender
public boolean isMessageTransferStarted()
protected void setSocketConnected(boolean isSocketConnected)
isSocketConnected
- The isSocketConnected to set.public boolean isSuspect()
public boolean getSuspect()
getSuspect
in interface IDataSender
public void setSuspect(boolean suspect)
setSuspect
in interface IDataSender
public boolean isOoBInline()
public void setOoBInline(boolean ooBInline)
ooBInline
- the ooBInline to setpublic int getRxBufSize()
public void setRxBufSize(int rxBufSize)
rxBufSize
- the rxBufSize to setpublic boolean isSoKeepAlive()
public void setSoKeepAlive(boolean soKeepAlive)
soKeepAlive
- the soKeepAlive to setpublic boolean isSoLingerOn()
public void setSoLingerOn(boolean soLingerOn)
soLingerOn
- the soLingerOn to setpublic int getSoLingerTime()
public void setSoLingerTime(int soLingerTime)
soLingerTime
- the soLingerTime to setpublic boolean isSoReuseAddress()
public void setSoReuseAddress(boolean soReuseAddress)
soReuseAddress
- the soReuseAddress to setpublic int getSoTrafficClass()
public void setSoTrafficClass(int soTrafficClass)
soTrafficClass
- the soTrafficClass to setpublic boolean isTcpNoDelay()
public void setTcpNoDelay(boolean tcpNoDelay)
tcpNoDelay
- the tcpNoDelay to setpublic int getTimeout()
public void setTimeout(int timeout)
timeout
- the timeout to setpublic int getTxBufSize()
public void setTxBufSize(int txBufSize)
txBufSize
- the txBufSize to setpublic long getAckTimeout()
getAckTimeout
in interface IDataSender
public void setAckTimeout(long ackTimeout)
setAckTimeout
in interface IDataSender
public long getKeepAliveTimeout()
public void setKeepAliveTimeout(long keepAliveTimeout)
public int getKeepAliveMaxRequestCount()
public void setKeepAliveMaxRequestCount(int keepAliveMaxRequestCount)
public long getKeepAliveConnectTime()
public int getKeepAliveCount()
public boolean isWaitForAck()
isWaitForAck
in interface IDataSender
public void setWaitForAck(boolean waitForAck)
setWaitForAck
in interface IDataSender
waitForAck
- The waitForAck to set.public boolean isResend()
public void setResend(boolean resend)
resend
- The resend to set.public java.net.Socket getSocket()
public SenderState getSenderState()
public void setSocket(java.net.Socket socket)
socket
- The socket to set.public void connect() throws java.io.IOException
connect
in interface IDataSender
java.io.IOException
IDataSender.connect()
public void disconnect()
disconnect
in interface IDataSender
IDataSender.disconnect()
public boolean checkKeepAlive()
checkKeepAlive
in interface IDataSender
closeSocket()
public void sendMessage(ClusterData data) throws java.io.IOException
sendMessage
in interface IDataSender
java.io.IOException
IDataSender.sendMessage(,
ClusterData)
public void resetStatistics()
public java.lang.String toString()
protected void openSocket() throws java.io.IOException, java.net.SocketException
java.io.IOException
java.net.SocketException
protected void createSocket() throws java.io.IOException, java.net.SocketException
java.io.IOException
java.net.SocketException
protected void closeSocket()
disconnect()
,
closeSocket()
protected void addStats(int length)
length
- protected void addProcessingStats(long startTime)
startTime
- protected void addWaitAckStats(long startTime)
startTime
- protected void pushMessage(ClusterData data) throws java.io.IOException
data
- data to send
java.io.IOException
closeSocket()
,
openSocket()
,
writeData(ClusterData)
protected void writeData(ClusterData data) throws java.io.IOException
data
-
java.io.IOException
protected void waitForAck(long timeout) throws java.io.IOException
timeout
-
java.io.IOException
java.net.SocketTimeoutException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |