gr_buffer Class Reference
[Implementation Details]

Single writer, multiple reader fifo. More...

#include <gr_buffer.h>

Collaboration diagram for gr_buffer:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual ~gr_buffer ()
int space_available () const
 return number of items worth of space available for writing
void * write_pointer ()
 return pointer to write buffer.
void update_write_pointer (int nitems)
 tell buffer that we wrote nitems into it
void set_done (bool done)
bool done () const

Protected Attributes

char * d_base
unsigned int d_bufsize

Friends

class gr_buffer_reader
gr_buffer_sptr gr_make_buffer (int nitems, size_t sizeof_item)
 Allocate a buffer that holds at least nitems of size sizeof_item.
gr_buffer_reader_sptr gr_buffer_add_reader (gr_buffer_sptr buf, int nzero_preload)
 create a new gr_buffer_reader and attach it to buffer buf


Detailed Description

Single writer, multiple reader fifo.

Constructor & Destructor Documentation

virtual gr_buffer::~gr_buffer (  )  [virtual]


Member Function Documentation

bool gr_buffer::done (  )  const [inline]

void gr_buffer::set_done ( bool  done  )  [inline]

int gr_buffer::space_available (  )  const

return number of items worth of space available for writing

void gr_buffer::update_write_pointer ( int  nitems  ) 

tell buffer that we wrote nitems into it

void* gr_buffer::write_pointer (  ) 

return pointer to write buffer.

The return value points at space that can hold at least space_available() items.


Friends And Related Function Documentation

gr_buffer_reader_sptr gr_buffer_add_reader ( gr_buffer_sptr  buf,
int  nzero_preload 
) [friend]

create a new gr_buffer_reader and attach it to buffer buf

Parameters:
nzero_preload -- number of zero items to "preload" into buffer.

friend class gr_buffer_reader [friend]

gr_buffer_sptr gr_make_buffer ( int  nitems,
size_t  sizeof_item 
) [friend]

Allocate a buffer that holds at least nitems of size sizeof_item.

The total size of the buffer will be rounded up to a system dependent boundary. This is typically the system page size, but under MS windows is 64KB.


Member Data Documentation

char* gr_buffer::d_base [protected]

unsigned int gr_buffer::d_bufsize [protected]


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

Generated on Thu Mar 5 09:02:31 2009 for GNU Radio 3.1.3 by  doxygen 1.5.8