dxd - dynax driver framework  2775
cross platform open source driver development framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
dx::circular Struct Reference

kernel/user space shared circular buffer More...

#include <dx_stream.h>

Public Member Functions

template<typename circular_t , typename ext_t >
 DX_HIDE_IF_PTR (ext_t) read(ext_t *const *dst
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t 
DX_HIDE_IF_PTR (ext_t) force_write(volatile uint64_t &position
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t 
DX_HIDE_IF_PTR (ext_t) force_write(const ext_t *src
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t 
DX_HIDE_IF_PTR (ext_t) write(volatile uint64_t &position
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t 
DX_HIDE_IF_PTR (ext_t) write(const ext_t *src
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t 
DX_HIDE_IF_PTR (ext_t) read(volatile uint64_t &position
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t 
DX_HIDE_IF_PTR (ext_t) read(ext_t *dst
 
uint64_t empty ()
 
uint64_t empty (volatile uint64_t &position)
 
template<typename circular_t , typename ext_t >
bool force_write (volatile uint64_t &position, const ext_t *const *src, uint64_t bulk, unsigned int channels_circular=1, unsigned int channels_src=1, unsigned int circular_offset=0, unsigned int interleaved=1)
 multi channel interleaved bulk write into circular buffer with format conversion if applicable More...
 
template<typename circular_t , typename ext_t >
bool force_write (const ext_t *const *src, uint64_t bulk=1, unsigned int channels_circular=1, unsigned int channels_src=1, unsigned int circular_offset=0, unsigned int interleaved=1)
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int src_t bool 
force_write (src_t *const *const *src, unsigned int clients, unsigned int channels=1, uint64_t bulk=1)
 
template<typename data_t >
bool force_write (data_t *const *const *src, uint64_t clients, uint64_t channels, uint64_t bulk)
 
void initialize (uint64_t backingstore_size)
 
void initialize ()
 
uint64_t loop () const
 
template<typename exception_t , typename callback_t >
void move (callback_t &callback, uint64_t max) throw (exception_t)
 
template<typename circular_t , typename ext_t >
bool read (volatile uint64_t &position, ext_t *const *dst, uint64_t bulk, unsigned int channels_circular=1, unsigned int channels_dst=1, unsigned int circular_offset=0, unsigned int interleaved=1)
 multi channel interleaved bulk read from circular buffer with format conversion if applicable More...
 
uint64_t used ()
 
uint64_t used (volatile uint64_t &position)
 
template<typename circular_t , typename ext_t >
bool write (volatile uint64_t &position, const ext_t *const *src, uint64_t bulk=1, unsigned int channels_circular=1, unsigned int channels_src=1, unsigned int circular_offset=0, unsigned int interleaved=1)
 bulk write into circular buffer with format conversion if applicable More...
 
template<typename circular_t , typename ext_t >
bool write (const ext_t *const *src, uint64_t bulk=1, unsigned int channels_circular=1, unsigned int channels_src=1, unsigned int circular_offset=0, unsigned int interleaved=1)
 

Public Attributes

uint64_t bulk
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t 
bulk =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t 
bulk =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t 
bulk =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t 
bulk =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t 
bulk =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t 
bulk =1
 
uint64_t unsigned int channels_circular =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int 
channels_circular =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int 
channels_circular =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int 
channels_circular =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int 
channels_circular =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int 
channels_circular =1
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int 
channels_circular =1
 
uint64_t unsigned int unsigned int channels_dst =1
 
uint64_t unsigned int unsigned
int unsigned int 
circular_offset =0
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int 
circular_offset =0
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int 
circular_offset =0
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int 
circular_offset =0
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int 
circular_offset =0
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int 
circular_offset =0
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int 
circular_offset =0
 
char data [1]
 
volatile uint64_t dropout
 drop out counter More...
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t * 
dst
 
uint64_t unsigned int unsigned
int unsigned int unsigned int 
interleaved
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int 
interleaved
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int 
interleaved
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int 
interleaved
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int 
interleaved
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int 
interleaved
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t ext_t
uint64_t unsigned int unsigned
int unsigned int ext_t
uint64_t unsigned int unsigned
int unsigned int 
interleaved
 
volatile uint64_t rx
 single consumers current read index More...
 
uint64_t size
 size of buffer in bytes More...
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t * 
src
 
uint64_t unsigned int unsigned
int unsigned int unsigned int
ext_t const ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t uint64_t
unsigned int unsigned int
unsigned int ext_t const ext_t * 
src
 
volatile int64_t timestamp
 current rx/tx timestamp More...
 
volatile uint64_t tx
 producers current write index More...
 
struct {
   volatile uint64_t   count
 buffer wrap count More...
 
   volatile int64_t   timestamp
 timestamp of last buffer wrap More...
 
zero
 

Detailed Description

kernel/user space shared circular buffer

this buffer is non-blocking for single-consumer/single-producer configurations; multiple producer write interleaved while obtaining shadow.tx; if shadow.tx==tx the producer is allowed to write into the buffer after advancing shadow.tx to the final tx position; once tx reaches shadow.tx the write is terminated and the producer can start a write cycle. multiple consumer each hold there own rx and read between rx and cycle.tx.

Member Function Documentation

template<typename circular_t , typename ext_t >
dx::circular::DX_HIDE_IF_PTR ( ext_t  ) const
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t dx::circular::DX_HIDE_IF_PTR ( ext_t  ) volatile
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t dx::circular::DX_HIDE_IF_PTR ( ext_t  ) const
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t dx::circular::DX_HIDE_IF_PTR ( ext_t  ) volatile
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t dx::circular::DX_HIDE_IF_PTR ( ext_t  ) const
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t dx::circular::DX_HIDE_IF_PTR ( ext_t  ) volatile
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int ext_t dx::circular::DX_HIDE_IF_PTR ( ext_t  )
uint64_t dx::circular::empty ( )
inline

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint64_t dx::circular::empty ( volatile uint64_t position)
inline
template<typename circular_t , typename ext_t >
bool dx::circular::force_write ( volatile uint64_t position,
const ext_t *const *  src,
uint64_t  bulk,
unsigned int  channels_circular = 1,
unsigned int  channels_src = 1,
unsigned int  circular_offset = 0,
unsigned int  interleaved = 1 
)
inline

multi channel interleaved bulk write into circular buffer with format conversion if applicable

return true if data fit into circular space

+ Here is the caller graph for this function:

template<typename circular_t , typename ext_t >
bool dx::circular::force_write ( const ext_t *const *  src,
uint64_t  bulk = 1,
unsigned int  channels_circular = 1,
unsigned int  channels_src = 1,
unsigned int  circular_offset = 0,
unsigned int  interleaved = 1 
)
inline
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int src_t bool dx::circular::force_write ( src_t *const *const *  src,
unsigned int  clients,
unsigned int  channels = 1,
uint64_t  bulk = 1 
)
inline
template<typename data_t >
bool dx::circular::force_write ( data_t *const *const *  src,
uint64_t  clients,
uint64_t  channels,
uint64_t  bulk 
)
inline
void dx::circular::initialize ( uint64_t  backingstore_size)
inline

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void dx::circular::initialize ( )
inline

+ Here is the caller graph for this function:

uint64_t dx::circular::loop ( ) const
inline

+ Here is the caller graph for this function:

template<typename exception_t , typename callback_t >
void dx::circular::move ( callback_t &  callback,
uint64_t  max 
)
throw (exception_t
)
inline
template<typename circular_t , typename ext_t >
bool dx::circular::read ( volatile uint64_t position,
ext_t *const *  dst,
uint64_t  bulk,
unsigned int  channels_circular = 1,
unsigned int  channels_dst = 1,
unsigned int  circular_offset = 0,
unsigned int  interleaved = 1 
)
inline

multi channel interleaved bulk read from circular buffer with format conversion if applicable

return true if enough data is available in circular space

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint64_t dx::circular::used ( )
inline

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

uint64_t dx::circular::used ( volatile uint64_t position)
inline
template<typename circular_t , typename ext_t >
bool dx::circular::write ( volatile uint64_t position,
const ext_t *const *  src,
uint64_t  bulk = 1,
unsigned int  channels_circular = 1,
unsigned int  channels_src = 1,
unsigned int  circular_offset = 0,
unsigned int  interleaved = 1 
)
inline

bulk write into circular buffer with format conversion if applicable

return true if data fit into empty space

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

template<typename circular_t , typename ext_t >
bool dx::circular::write ( const ext_t *const *  src,
uint64_t  bulk = 1,
unsigned int  channels_circular = 1,
unsigned int  channels_src = 1,
unsigned int  circular_offset = 0,
unsigned int  interleaved = 1 
)
inline

+ Here is the call graph for this function:

Member Data Documentation

uint64_t dx::circular::bulk
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t dx::circular::bulk =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t dx::circular::bulk =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t dx::circular::bulk =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t dx::circular::bulk =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t dx::circular::bulk =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t dx::circular::bulk =1
uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int dx::circular::channels_circular =1
uint64_t unsigned int unsigned int dx::circular::channels_dst =1
uint64_t unsigned int unsigned int unsigned int dx::circular::circular_offset =0
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int dx::circular::circular_offset =0
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int dx::circular::circular_offset =0
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int dx::circular::circular_offset =0
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int dx::circular::circular_offset =0
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int dx::circular::circular_offset =0
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int dx::circular::circular_offset =0
volatile uint64_t dx::circular::count

buffer wrap count

char dx::circular::data[1]
volatile uint64_t dx::circular::dropout

drop out counter

uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t* dx::circular::dst
uint64_t unsigned int unsigned int unsigned int unsigned int dx::circular::interleaved
Initial value:
=1){
template<typename circular_t
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int dx::circular::interleaved
Initial value:
=1){
return force_write<circular_t,ext_t>(position,&src,bulk,channels_circular,1,circular_offset,interleaved);}
template<typename circular_t
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int dx::circular::interleaved
Initial value:
=1){
return force_write<circular_t,ext_t>(tx,&src,bulk,channels_circular,1,circular_offset,interleaved);}
template<typename circular_t
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int dx::circular::interleaved
Initial value:
=1){
return write<circular_t,ext_t>(position,&src,bulk,channels_circular,1,circular_offset,interleaved);}
template<typename circular_t
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int dx::circular::interleaved
Initial value:
=1){
return write<circular_t,ext_t>(&src,bulk,channels_circular,1,circular_offset,interleaved);}
template<typename circular_t
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int dx::circular::interleaved
Initial value:
=1){
return read<circular_t,ext_t>(position,&dst,bulk,channels_circular,1,circular_offset,interleaved);}
template<typename circular_t
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int dx::circular::interleaved
volatile uint64_t dx::circular::rx

single consumers current read index

uint64_t dx::circular::size

size of buffer in bytes

uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t* dx::circular::src
uint64_t unsigned int unsigned int unsigned int unsigned int ext_t const ext_t uint64_t unsigned int unsigned int unsigned int ext_t uint64_t unsigned int unsigned int unsigned int ext_t const ext_t* dx::circular::src
volatile int64_t dx::circular::timestamp

current rx/tx timestamp

timestamp of last buffer wrap

volatile uint64_t dx::circular::tx

producers current write index

struct { ... } dx::circular::zero

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

(c) copyright 2009 dynamic acoustics e.U. generated on Sat Aug 17 2019

a closed source license may be obtained by requesting a written permission from dynamic acoustics e.U.
however - governmental use generally and military use especially is strictly prohibited though.