ostore.network
Class NetworkInputBuffer
java.lang.Object
|
+--ostore.util.InputBufferImpl
|
+--ostore.network.NetworkInputBuffer
- All Implemented Interfaces:
- Cloneable, InputBuffer
- public class NetworkInputBuffer
- extends InputBufferImpl
Implements the InputBuffer interface as a linked list of ATcpInPacket
objects.
Method Summary |
void |
add_packet(ATcpInPacket packet)
|
Object |
clone()
Buffers must support clone such that the read pointer on a cloned
buffer is independent of the original. |
void |
convertToBytes(byte[][] out_buffer,
int[][] out_offset)
|
byte |
nextByte()
Read the next byte out of the buffer. |
void |
nextBytes(byte[] out_buffer,
int out_offset,
int count)
Read the next length bytes out the of the buffer, and
place them in the array output , starting at index
offset . |
void |
nextBytes(OutputBuffer output)
Write all of the remaining bytes in this input buffer into the given
output buffer. |
void |
skipBytes(int count)
|
InputBuffer |
subBuffer(int count)
Create a new input buffer from the read point at this one,
containing the next length bytes. |
String |
toString()
|
Methods inherited from class ostore.util.InputBufferImpl |
nextBigInteger, nextBigInteger, nextBoolean, nextBoolean, nextDouble, nextDouble, nextInt, nextInt, nextLong, nextLong, nextObject, nextObject, nextShort, nextShort, nextString, nextString |
NetworkInputBuffer
public NetworkInputBuffer(long next_seq_num)
clone
public Object clone()
throws CloneNotSupportedException
- Description copied from interface:
InputBuffer
- Buffers must support clone such that the read pointer on a cloned
buffer is independent of the original. This functionality is used
in Tapestry and will be used in SignedQS as well, I think. It
relates to the need to deserialize a buffer twice. Whether or not
we keep using it is subject to change.
- Overrides:
clone
in class InputBufferImpl
convertToBytes
public void convertToBytes(byte[][] out_buffer,
int[][] out_offset)
nextByte
public byte nextByte()
- Description copied from interface:
InputBuffer
- Read the next byte out of the buffer.
nextBytes
public void nextBytes(byte[] out_buffer,
int out_offset,
int count)
- Description copied from interface:
InputBuffer
- Read the next
length
bytes out the of the buffer, and
place them in the array output
, starting at index
offset
.- Following copied from interface:
ostore.util.InputBuffer
- Parameters:
output
- the array into which the bytes are writtenoffset
- the index in output
at which we start
writing byteslength
- the number of bytes to read
skipBytes
public void skipBytes(int count)
nextBytes
public void nextBytes(OutputBuffer output)
- Description copied from interface:
InputBuffer
- Write all of the remaining bytes in this input buffer into the given
output buffer. We need something like this so that (for example)
the payload of an ostore.tapestry.impl.RouteMsg doesn't have to be
deserialized on an intermediate node in its path. I'm not entirely
happy with the idea, though, so please don't use it for now without
talking to me first about what you're using it for.
- Following copied from interface:
ostore.util.InputBuffer
- Parameters:
output
- the output buffer into which the bytes are writtenlength
- the number of bytes to read
subBuffer
public InputBuffer subBuffer(int count)
- Description copied from interface:
InputBuffer
- Create a new input buffer from the read point at this one,
containing the next length bytes. Subject to change in the future.
add_packet
public void add_packet(ATcpInPacket packet)
toString
public String toString()
- Overrides:
toString
in class Object