Class ObjectReader
java.lang.Object
org.apache.catalina.tribes.io.ObjectReader
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
FieldsModifier and TypeFieldDescriptionprotected booleanWhether this reader is currently being accessed.protected longTimestamp of the last access.protected static final StringManagerString manager for internationalization. -
Constructor Summary
ConstructorsConstructorDescriptionObjectReader(int packetSize) Creates an ObjectReader with the specified packet size.ObjectReader(Socket socket) Creates anObjectReaderfor a TCP socketObjectReader(SocketChannel channel) Creates anObjectReaderfor a TCP NIO socket channel -
Method Summary
Modifier and TypeMethodDescriptionvoidaccess()Marks this reader as being accessed.intappend(byte[] data, int off, int len, boolean count) Appends new bytes to the buffer.intappend(ByteBuffer data, int len, boolean count) Append new bytes to buffer.intReturns the current buffer size.voidclose()Closes this reader and releases the buffer.intcount()Returns the number of packages that the reader has readexecute()Send buffer to cluster listener (callback).voidfinish()Marks this reader as no longer being accessed.longReturns the timestamp of the last access.booleanChecks if there is a complete package available.booleanChecks if this reader is currently being accessed.booleanChecks if this reader has been cancelled.voidsetCancelled(boolean cancelled) Sets the cancelled state of this reader.voidsetLastAccess(long lastAccess) Sets the timestamp of the last access.
-
Field Details
-
sm
String manager for internationalization. -
lastAccess
protected long lastAccessTimestamp of the last access. -
accessed
protected boolean accessedWhether 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
Creates anObjectReaderfor a TCP NIO socket channel- Parameters:
channel- - the channel to be read.
-
ObjectReader
Creates anObjectReaderfor 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
Append new bytes to buffer.- Parameters:
data- new transfer bufferlen- length in buffercount- 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 arrayoff- The offset in the arraylen- The length of datacount- Whether to count packages- Returns:
- Number of messages sent to callback, or -1 if count is false
-
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
-