org.apache.catalina.tribes.io

## Class ObjectReader

- java.lang.Object
- - org.apache.catalina.tribes.io.ObjectReader

-     public class ObjectReader
      extends Object

  The object reader object is an object used in conjunction with java.nio TCP messages. This object stores the message bytes in a `XByteBuffer` until a full package has been received. This object uses an XByteBuffer which is an extendable object buffer that also allows for message encoding and decoding.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected boolean` | `accessed`
    `protected long` | `lastAccess`
    `protected static StringManager` | `sm`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ObjectReader(int packetSize)`
    `ObjectReader(Socket socket)` Creates an `ObjectReader` for a TCP socket
    `ObjectReader(SocketChannel channel)` Creates an `ObjectReader` for a TCP NIO socket channel

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `access()`
    `int` | `append(byte[] data, int off, int len, boolean count)`
    `int` | `append(ByteBuffer data, int len, boolean count)` Append new bytes to buffer.
    `int` | `bufferSize()`
    `void` | `close()`
    `int` | `count()` Returns the number of packages that the reader has read
    `ChannelMessage[]` | `execute()` Send buffer to cluster listener (callback).
    `void` | `finish()`
    `long` | `getLastAccess()`
    `boolean` | `hasPackage()`
    `boolean` | `isAccessed()`
    `boolean` | `isCancelled()`
    `void` | `setCancelled(boolean cancelled)`
    `void` | `setLastAccess(long lastAccess)`

    - ### Methods inherited from class java.lang.Object

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

- - ### Field Detail

    - #### sm

          protected static final StringManager sm

    - #### lastAccess

          protected long lastAccess

    - #### accessed

          protected boolean accessed

  - ### Constructor Detail

    - #### ObjectReader

          public ObjectReader(int packetSize)

    - #### ObjectReader

          public ObjectReader(SocketChannel channel)

      Creates an `ObjectReader` for a TCP NIO socket channel
      Parameters:
        `channel` - - the channel to be read.

    - #### ObjectReader

          public ObjectReader(Socket socket)

      Creates an `ObjectReader` for a TCP socket
      Parameters:
        `socket` - Socket

  - ### Method Detail

    - #### access

          public void access()

    - #### finish

          public void finish()

    - #### isAccessed

          public boolean isAccessed()

    - #### append

          public int append(ByteBuffer data,
                   int len,
                   boolean count)

      Append new bytes to buffer.
      Parameters:
        `data` - new transfer buffer
        `len` - length in buffer
        `count` - whether to return the count
      Returns:
        number of messages that was sent to callback (or -1 if count == false)
      See Also:
        `XByteBuffer.countPackages()`

    - #### append

          public int append(byte[] data,
                   int off,
                   int len,
                   boolean count)

    - #### execute

          public ChannelMessage[] execute()

      Send buffer to cluster listener (callback). Is message complete receiver send message to callback?
      Returns:
        number of received packages/messages
      See Also:
        `ReceiverBase.messageDataReceived(ChannelMessage)`, `XByteBuffer.doesPackageExist()`, `XByteBuffer.extractPackage(boolean)`

    - #### bufferSize

          public int bufferSize()

    - #### hasPackage

          public boolean hasPackage()

    - #### count

          public int count()

      Returns the number of packages that the reader has read
      Returns:
        int

    - #### close

          public void close()

    - #### getLastAccess

          public long getLastAccess()

    - #### isCancelled

          public boolean isCancelled()

    - #### setLastAccess

          public void setLastAccess(long lastAccess)

    - #### setCancelled

          public void setCancelled(boolean cancelled)

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