sends::buffer_pool Class Reference
[Sends Data Classes]

Preallocated buffer pool. More...

#include <buffer_pool.hh>

List of all members.

Public Types

typedef thread::mt_queue
< buffer * > 
buffer_queue

Public Member Functions

 buffer_pool (long nbuf, long lbuf)
 Pool constructor.
 ~buffer_pool (void)
 Destructor.
bufferget_buffer (void)
 Get a buffer.
bufferget_buffer_now (void)
 Get a buffer (nowait).
void return_buffer (buffer *buf)
 Return a buffer.


Detailed Description

Preallocated buffer pool.

The buffer_pool class defines a pool of preallocated fixed length buffers.

Author:
John Zweizig
Version:
1.0; Last modified January 31, 2008

Member Typedef Documentation

typedef thread::mt_queue<buffer*> sends::buffer_pool::buffer_queue

Free buffer queue.


Constructor & Destructor Documentation

sends::buffer_pool::buffer_pool ( long  nbuf,
long  lbuf 
)

Pool constructor.

Construct a pool with nbuf buffers of length lbuf.

Parameters:
nbuf Number of buffers to allocate.
lbuf Buffer length.

sends::buffer_pool::~buffer_pool ( void   ) 

Destructor.

Destroy a buffer pool.


Member Function Documentation

buffer* sends::buffer_pool::get_buffer ( void   ) 

Get a buffer.

Get a free buffer from the pool.

Returns:
Buffer pointer.

buffer* sends::buffer_pool::get_buffer_now ( void   ) 

Get a buffer (nowait).

Get a free buffer from the pool. Return a null pointer if no buffers are available.

Returns:
Buffer pointer or null.

void sends::buffer_pool::return_buffer ( buffer buf  ) 

Return a buffer.

Return a free buffer to the pool.

Parameters:
buf Pointer to the buffer to be returned.


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

Generated on Tue Jun 10 12:18:12 2008 for SENDS by  doxygen 1.5.5