ostore.util
Class FromBytesInputBuffer

java.lang.Object
  |
  +--ostore.util.InputBufferImpl
        |
        +--ostore.util.FromBytesInputBuffer
All Implemented Interfaces:
Cloneable, InputBuffer

public class FromBytesInputBuffer
extends InputBufferImpl

For help in porting. Use like this:

     public Foo (byte [] data, int [] offset) throws QSException {
         this (new FromBytesInputBuffer (data, offset));
     }
 

Version:
$Id: FromBytesInputBuffer.java,v 1.2 2002/06/29 05:55:35 hweather Exp $
Author:
Sean C. Rhea

Constructor Summary
FromBytesInputBuffer(byte[] data, int[] offset)
           
 
Method Summary
 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, int off, int length)
          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 length)
          Create a new input buffer from the read point at this one, containing the next length bytes.
 
Methods inherited from class ostore.util.InputBufferImpl
nextBigInteger, nextBigInteger, nextBoolean, nextBoolean, nextDouble, nextDouble, nextInt, nextInt, nextLong, nextLong, nextObject, nextObject, nextShort, nextShort, nextString, nextString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FromBytesInputBuffer

public FromBytesInputBuffer(byte[] data,
                            int[] offset)
Method Detail

nextByte

public byte nextByte()
Description copied from interface: InputBuffer
Read the next byte out of the buffer.


nextBytes

public void nextBytes(byte[] out,
                      int off,
                      int length)
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.

Parameters:
out - the array into which the bytes are written
off - the index in output at which we start writing bytes
length - the number of bytes to read

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 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.

Parameters:
output - the output buffer into which the bytes are written

convertToBytes

public void convertToBytes(byte[][] out_buffer,
                           int[][] out_offset)

skipBytes

public void skipBytes(int count)

subBuffer

public InputBuffer subBuffer(int length)
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.


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.

Specified by:
clone in interface InputBuffer
Overrides:
clone in class InputBufferImpl
CloneNotSupportedException