ost::FixedBuffer Class Reference

A buffer class that holds a known capacity of fixed sized objects defined during creation. More...

#include <buffer.h>

Inheritance diagram for ost::FixedBuffer:

ost::Buffer ost::Conditional

List of all members.

Public Member Functions

 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.
FixedBufferoperator= (const FixedBuffer &fb)
bool isValid (void)

Protected Member Functions

size_t onPeek (void *buf)
 Return the first object in the buffer.
size_t onWait (void *buf)
 Wait for and return a fixed object in the buffer.
size_t 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.

Author:
David Sugar <dyfet@ostel.com> producer/consumer buffer for fixed size objects.

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

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

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

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

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

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

Reimplemented from ost::Buffer.


The documentation for this class was generated from the following file:

Generated on Fri Jan 8 01:25:57 2016 for GNU CommonC++ by  doxygen 1.5.6