equip.runtime
Class Mbuf

java.lang.Object
  extended byequip.runtime.Mbuf

public class Mbuf
extends java.lang.Object

message(byte) buffer used by MbufInputStream and MbufOutputStream. NB be careful not to re-use in parallel if making use of ref counting.


Field Summary
protected  byte[] buf
          internal buffer
static int DEFAULT_SIZE
          Default buffer size (1000)
protected  int headerSize
          amount of internal buffer allocated to header space
protected  Mbuf next
          pointer to next Mbuf in single linked list
protected  int size
          total size of internal buffer in use
protected  int used
          amount of internal buffer in use
 
Constructor Summary
Mbuf()
          initialise to DEFAULT_SIZE and no header
Mbuf(int size, int headerSize)
          initialise to specified total and header size.
 
Method Summary
 byte[] getBuf()
          get reference to internal buffer.
 int getHeaderSize()
          get size of buffer header space.
 Mbuf getNext()
          single linked list.
 int getSize()
          get total size of buffer.
 int getUsed()
          get number of bytes in use.
 void setData(byte[] b, int length)
          set internal buffer
 void setHeaderSize(int size)
          set size of buffer header space.
 void setNext(Mbuf next)
          set next buffer in single linked list.
 void setUsed(int used)
          set number of bytes in use.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_SIZE

public static final int DEFAULT_SIZE
Default buffer size (1000)

See Also:
Constant Field Values

buf

protected byte[] buf
internal buffer


used

protected int used
amount of internal buffer in use


size

protected int size
total size of internal buffer in use


headerSize

protected int headerSize
amount of internal buffer allocated to header space


next

protected Mbuf next
pointer to next Mbuf in single linked list

Constructor Detail

Mbuf

public Mbuf()
initialise to DEFAULT_SIZE and no header


Mbuf

public Mbuf(int size,
            int headerSize)
initialise to specified total and header size.

Parameters:
size - Total size of buffer.
headerSize - Amount of buffer to be allocated as header
Method Detail

getNext

public Mbuf getNext()
single linked list.

Returns:
Next buffer in single linked list

setNext

public void setNext(Mbuf next)
set next buffer in single linked list.

Parameters:
next - Next buffer in single linked list.

getUsed

public int getUsed()
get number of bytes in use.

Returns:
number of bytes in use.

setUsed

public void setUsed(int used)
set number of bytes in use.

Parameters:
used - Number of bytes now used.

getSize

public int getSize()
get total size of buffer.

Returns:
total size of buffer.

getBuf

public byte[] getBuf()
get reference to internal buffer.

Returns:
Reference to internal buffer (not a copy of the buffer).

getHeaderSize

public int getHeaderSize()
get size of buffer header space.

Returns:
Amount of buffer allocated to header.

setHeaderSize

public void setHeaderSize(int size)
set size of buffer header space.

Parameters:
size - New amount of buffer to be allocated as header.

setData

public void setData(byte[] b,
                    int length)
set internal buffer

Parameters:
length - amount of buffer used