hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Private Member Functions | Private Attributes | List of all members
hobbes::storage::writer Class Reference

#include <storage.H>

Collaboration diagram for hobbes::storage::writer:
Collaboration graph

Public Member Functions

 writer (const bytes &meta, const std::string &shmname, size_t qvalsz, size_t count)
 
 ~writer ()
 
const pqueue_configconfig () const
 
uint8_t * next ()
 
uint8_t * pollNext ()
 
void push ()
 

Private Member Functions

volatile uint32_t * waitState () const
 
volatile uint32_t * readIndex () const
 
volatile uint32_t * writeIndex () const
 
uint8_t * value (size_t i) const
 
uint32_t nextIndex (volatile uint32_t *i) const
 

Private Attributes

std::string shmname
 
int shmfd
 
pqueue_config cfg
 

Constructor & Destructor Documentation

◆ writer()

hobbes::storage::writer::writer ( const bytes meta,
const std::string &  shmname,
size_t  qvalsz,
size_t  count 
)
inline

◆ ~writer()

hobbes::storage::writer::~writer ( )
inline

Member Function Documentation

◆ config()

const pqueue_config& hobbes::storage::writer::config ( ) const
inline

◆ next()

uint8_t* hobbes::storage::writer::next ( )
inline

◆ nextIndex()

uint32_t hobbes::storage::writer::nextIndex ( volatile uint32_t *  i) const
inlineprivate

◆ pollNext()

uint8_t* hobbes::storage::writer::pollNext ( )
inline

◆ push()

void hobbes::storage::writer::push ( )
inline

◆ readIndex()

volatile uint32_t* hobbes::storage::writer::readIndex ( ) const
inlineprivate

◆ value()

uint8_t* hobbes::storage::writer::value ( size_t  i) const
inlineprivate

◆ waitState()

volatile uint32_t* hobbes::storage::writer::waitState ( ) const
inlineprivate

◆ writeIndex()

volatile uint32_t* hobbes::storage::writer::writeIndex ( ) const
inlineprivate

Member Data Documentation

◆ cfg

pqueue_config hobbes::storage::writer::cfg
private

◆ shmfd

int hobbes::storage::writer::shmfd
private

◆ shmname

std::string hobbes::storage::writer::shmname
private

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