org.apache.catalina.tribes.transport.bio

Class BioSender

public class BioSender extends AbstractSender implements DataSender

Send cluster messages with only one socket. Ack and keep Alive Handling is supported

Since: 5.5.16

Version: $Revision: 532608 $ $Date: 2007-04-26 06:58:20 +0200 (Thu, 26 Apr 2007) $

Author: Peter Rossbach Filip Hanik

Field Summary
protected XByteBufferackbuf
protected static StringManagersm
The string manager for this package.
Constructor Summary
BioSender()
Method Summary
protected voidcloseSocket()
close socket
voidconnect()
Connect other cluster member receiver
voiddisconnect()
disconnect and close socket
StringgetInfo()
Return descriptive information about this implementation and the corresponding version number, in the format <description>/<version>.
protected voidopenSocket()
open real socket and set time out when waitForAck is enabled is socket open return directly
protected voidpushMessage(byte[] data, boolean reconnect, boolean waitForAck)
Push messages with only one socket at a time Wait for ack is needed and make auto retry when write message is failed.
voidsendMessage(byte[] data, boolean waitForAck)
Send message
StringtoString()
Name of this SockerSender
protected voidwaitForAck()
Wait for Acknowledgement from other server FIXME Please, not wait only for three charcters, better control that the wait ack message is correct.

Field Detail

ackbuf

protected XByteBuffer ackbuf

sm

protected static StringManager sm
The string manager for this package.

Constructor Detail

BioSender

public BioSender()

Method Detail

closeSocket

protected void closeSocket()
close socket

See Also: disconnect DataSender

connect

public void connect()
Connect other cluster member receiver

See Also: org.apache.catalina.tribes.transport.IDataSender#connect()

disconnect

public void disconnect()
disconnect and close socket

See Also: IDataSender#disconnect()

getInfo

public String getInfo()
Return descriptive information about this implementation and the corresponding version number, in the format <description>/<version>.

openSocket

protected void openSocket()
open real socket and set time out when waitForAck is enabled is socket open return directly

pushMessage

protected void pushMessage(byte[] data, boolean reconnect, boolean waitForAck)
Push messages with only one socket at a time Wait for ack is needed and make auto retry when write message is failed. After sending error close and reopen socket again. After successfull sending update stats WARNING: Subclasses must be very carefull that only one thread call this pushMessage at once!!!

Parameters: data data to send

Since: 5.5.10

See Also: closeSocket openSocket

sendMessage

public void sendMessage(byte[] data, boolean waitForAck)
Send message

See Also: org.apache.catalina.tribes.transport.IDataSender#sendMessage(, ChannelMessage)

toString

public String toString()
Name of this SockerSender

waitForAck

protected void waitForAck()
Wait for Acknowledgement from other server FIXME Please, not wait only for three charcters, better control that the wait ack message is correct.

Parameters: timeout

Throws: java.io.IOException java.net.SocketTimeoutException

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