Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

ost::FixedBuffer Class Reference

A buffer class that holds a known capacity of fixed sized objects defined during creation. producer/consumer buffer for fixed size objects. More...

#include <thread.h>

Inheritance diagram for ost::FixedBuffer:

ost::Buffer List of all members.

Public Methods

 FixedBuffer (size_t capacity, size_t objsize)
 Create a buffer of known capacity for objects of a specified size.

 FixedBuffer (const FixedBuffer &fb)
 Create a copy of an existing fixed size buffer and duplicate it's contents.

virtual ~FixedBuffer ()
 Destroy the fixed buffer and free the memory used to store objects.

FixedBuffer & operator= (const FixedBuffer &fb)
bool isValid (void)

Protected Methods

int onPeek (void *buf)
 Return the first object in the buffer.

int onWait (void *buf)
 Wait for and return a fixed object in the buffer.

int onPost (void *buf)
 Post an object of the appropriate size into the buffer.


Detailed Description

A buffer class that holds a known capacity of fixed sized objects defined during creation. producer/consumer buffer for fixed size objects.

Author:
David Sugar <dyfet@ostel.com>


Constructor & Destructor Documentation

ost::FixedBuffer::FixedBuffer size_t    capacity,
size_t    objsize
 

Create a buffer of known capacity for objects of a specified size.

Parameters:
capacity  of the buffer.
objsize  for each object held in the buffer.

ost::FixedBuffer::FixedBuffer const FixedBuffer &    fb
 

Create a copy of an existing fixed size buffer and duplicate it's contents.

Parameters:
fb  existing FixedBuffer object.

virtual ost::FixedBuffer::~FixedBuffer   [virtual]
 

Destroy the fixed buffer and free the memory used to store objects.


Member Function Documentation

bool ost::FixedBuffer::isValid void    [virtual]
 

Reimplemented from ost::Buffer.

int ost::FixedBuffer::onPeek void *    buf [protected, virtual]
 

Return the first object in the buffer.

Returns:
predefined size of this buffers objects.
Parameters:
buf  pointer to copy contents of head of buffer to.

Implements ost::Buffer.

int ost::FixedBuffer::onPost void *    buf [protected, virtual]
 

Post an object of the appropriate size into the buffer.

Returns:
predefined size of this buffers objects.
Parameters:
buf  pointer to data to copy into the buffer.

Implements ost::Buffer.

int ost::FixedBuffer::onWait void *    buf [protected, virtual]
 

Wait for and return a fixed object in the buffer.

Returns:
predefined size of this buffers objects.
Parameters:
buf  pointer to hold object returned from the buffer.

Implements ost::Buffer.

FixedBuffer& ost::FixedBuffer::operator= const FixedBuffer &    fb
 


The documentation for this class was generated from the following file:
Generated on Thu Nov 21 12:28:31 2002 for GNU CommonC++ by doxygen1.2.18