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
    Description
    protected boolean
    Whether this reader is currently being accessed.
    protected long
    Timestamp of the last access.
    protected static final StringManager
    String manager for internationalization.
  • Constructor Summary

    Constructors
    Constructor
    Description
    ObjectReader(int packetSize)
    Creates an ObjectReader with the specified packet size.
    Creates an ObjectReader for a TCP socket
    Creates an ObjectReader for a TCP NIO socket channel
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Marks this reader as being accessed.
    int
    append(byte[] data, int off, int len, boolean count)
    Appends new bytes to the buffer.
    int
    append(ByteBuffer data, int len, boolean count)
    Append new bytes to buffer.
    int
    Returns the current buffer size.
    void
    Closes this reader and releases the buffer.
    int
    Returns the number of packages that the reader has read
    Send buffer to cluster listener (callback).
    void
    Marks this reader as no longer being accessed.
    long
    Returns the timestamp of the last access.
    boolean
    Checks if there is a complete package available.
    boolean
    Checks if this reader is currently being accessed.
    boolean
    Checks if this reader has been cancelled.
    void
    setCancelled(boolean cancelled)
    Sets the cancelled state of this reader.
    void
    setLastAccess(long lastAccess)
    Sets the timestamp of the last access.

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • sm

      protected static final StringManager sm
      String manager for internationalization.
    • lastAccess

      protected long lastAccess
      Timestamp of the last access.
    • accessed

      protected boolean accessed
      Whether this reader is currently being accessed.
  • Constructor Details

    • ObjectReader

      public ObjectReader(int packetSize)
      Creates an ObjectReader with the specified packet size.
      Parameters:
      packetSize - The initial packet buffer size
    • 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 Details

    • access

      public void access()
      Marks this reader as being accessed.
    • finish

      public void finish()
      Marks this reader as no longer being accessed.
    • isAccessed

      public boolean isAccessed()
      Checks if this reader is currently being accessed.
      Returns:
      true if the reader is being accessed
    • 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:
    • append

      public int append(byte[] data, int off, int len, boolean count)
      Appends new bytes to the buffer.
      Parameters:
      data - The byte array
      off - The offset in the array
      len - The length of data
      count - Whether to count packages
      Returns:
      Number of messages sent to callback, or -1 if count is false
    • execute

      public ChannelMessage[] execute()
      Send buffer to cluster listener (callback). Is message complete receiver send message to callback?
      Returns:
      array of received packages/messages
      See Also:
    • bufferSize

      public int bufferSize()
      Returns the current buffer size.
      Returns:
      The buffer length
    • hasPackage

      public boolean hasPackage()
      Checks if there is a complete package available.
      Returns:
      true if a complete package exists
    • count

      public int count()
      Returns the number of packages that the reader has read
      Returns:
      int
    • close

      public void close()
      Closes this reader and releases the buffer.
    • getLastAccess

      public long getLastAccess()
      Returns the timestamp of the last access.
      Returns:
      The last access timestamp
    • isCancelled

      public boolean isCancelled()
      Checks if this reader has been cancelled.
      Returns:
      true if cancelled
    • setLastAccess

      public void setLastAccess(long lastAccess)
      Sets the timestamp of the last access.
      Parameters:
      lastAccess - The last access timestamp
    • setCancelled

      public void setCancelled(boolean cancelled)
      Sets the cancelled state of this reader.
      Parameters:
      cancelled - The cancelled state