Apache Tomcat 7.0.28

org.apache.catalina.tribes.io
Class ObjectReader

java.lang.Object
  extended by 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.

Version:
$Id: ObjectReader.java 981816 2010-08-03 10:44:58Z markt $
Author:
Filip Hanik

Field Summary
protected  boolean accessed
           
protected  long lastAccess
           
 
Constructor Summary
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
 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

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)
           throws IOException
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)
Throws:
IOException
See Also:
XByteBuffer.countPackages()

append

public int append(byte[] data,
                  int off,
                  int len,
                  boolean count)
           throws IOException
Throws:
IOException

execute

public ChannelMessage[] execute()
                         throws IOException
Send buffer to cluster listener (callback). Is message complete receiver send message to callback?

Returns:
number of received packages/messages
Throws:
IOException
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)

Apache Tomcat 7.0.28

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