Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.catalina.tribes.transport.bio
Class BioSender

    java.lang.Object
      org.apache.catalina.tribes.transport.AbstractSender
          org.apache.catalina.tribes.transport.bio.BioSender

All Implemented Interfaces:
  DataSender

    public class BioSender

extends AbstractSender

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

Since:
  5.5.16
Version:
  $Id: BioSender.java 1033915 2010-11-11 12:40:15Z markt $
Author:
  Peter Rossbach, Filip Hanik

Field Summary
`protected XByteBuffer` | `ackbuf`
`protected static StringManager` | `sm` The string manager for this package.

Constructor Summary
`BioSender()`

Method Summary
`protected void` | `closeSocket()` Close socket.
`void` | `connect()` Connect other cluster member receiver
`void` | `disconnect()` disconnect and close socket
`String` | `getInfo()` Return descriptive information about this implementation and the corresponding version number, in the format `<description>/<version>`.
`protected void` | `openSocket()` open real socket and set time out when waitForAck is enabled is socket open return directly
`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.
`void` | `sendMessage(byte[] data, boolean waitForAck)` Send message.
`String` | `toString()` Name of this SockerSender
`protected void` | `waitForAck()` Wait for Acknowledgement from other server.

Methods inherited from class org.apache.catalina.tribes.transport.AbstractSender
`getAddress, getAttempt, getConnectTime, getDestination, getDirect, getDirectBuffer, getKeepAliveCount, getKeepAliveTime, getMaxRetryAttempts, getOoBInline, getPort, getRequestCount, getRxBufSize, getSoKeepAlive, getSoLingerOn, getSoLingerTime, getSoReuseAddress, getSoTrafficClass, getTcpNoDelay, getThrowOnFailedAck, getTimeout, getTxBufSize, getUdpPort, getUdpRxBufSize, getUdpTxBufSize, isConnected, isUdpBased, keepalive, setAddress, setAttempt, setConnected, setConnectTime, setDestination, setDirect, 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 java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### sm

    protected static final StringManager sm

  The string manager for this package.

### ackbuf

    protected XByteBuffer ackbuf

Constructor Detail

### BioSender

    public BioSender()

Method Detail

### getInfo

    public String getInfo()

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

### connect

    public void connect()
                 throws IOException

  Connect other cluster member receiver

  Specified by:
    `connect` in interface `DataSender`
  Specified by:
    `connect` in class `AbstractSender`
  Throws:
    `IOException` - TODO Implement this org.apache.catalina.tribes.transport.DataSender method
  See Also:
    `DataSender.connect()`

### disconnect

    public void disconnect()

  disconnect and close socket

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

### sendMessage

    public void sendMessage(byte[] data,
                            boolean waitForAck)
                     throws IOException

  Send message.

  Throws:
    `IOException`

### toString

    public String toString()

  Name of this SockerSender

  Overrides:
    `toString` in class `Object`

### openSocket

    protected void openSocket()
                       throws IOException

  open real socket and set time out when waitForAck is enabled is socket open return directly

  Throws:
    `IOException`

### closeSocket

    protected void closeSocket()

  Close socket.

  See Also:
    `disconnect()`

### pushMessage

    protected void pushMessage(byte[] data,
                               boolean reconnect,
                               boolean waitForAck)
                        throws IOException

  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 successful sending update stats WARNING: Subclasses must be very careful that only one thread call this pushMessage at once!!!

  Parameters:
    `data` - data to send
  Throws:
    `IOException`
  Since:
    5.5.10
  See Also:
    `closeSocket()`, `openSocket()`, `sendMessage(byte[], boolean)`

### waitForAck

    protected void waitForAck()
                       throws IOException

  Wait for Acknowledgement from other server. FIXME Please, not wait only for three characters, better control that the wait ack message is correct.

  Throws:
    `IOException`
    `SocketTimeoutException`

Overview | Package | Class | Tree | Deprecated | Index | Help
| Apache Tomcat 7.0.29
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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