Lattice Microbes 2.5
This is for whole cell modeling
Loading...
Searching...
No Matches
lm::main::DataOutputQueue Class Reference

A queue class that writes out data in the order it is recieved. More...

#include <DataOutputQueue.h>

Inheritance diagram for lm::main::DataOutputQueue:
[legend]

Classes

class  DataSet
 A set of data in the form of bytes to be written to disk. More...

Public Member Functions

 DataOutputQueue ()
 Create a DataOutputQueue.
virtual ~DataOutputQueue ()
virtual void pushDataSet (uint type, uint replicate, ::google::protobuf::Message *message, void *payload=NULL, size_t payloadSize=0, void(*payloadSerializer)(void *, void *, size_t)=NULL)
 Put some data on the queue to be output.
virtual void pushDataSet (void *data, size_t dataSize)
 Put some data on the queue.
virtual void pushDataSet (DataSet *dataSet)
 Put a DataSet on the queue.
virtual void pushDataSet (const H5MetaData md, uint replicate, void *payload)
template<typename T>
void queryH5 (const H5Lookup::Mode mode, H5MetaData &hdr, std::vector< T > &payload, const uint replicate, const std::string path, const std::string attr="")
template<typename T>
queryH5attr (const uint replicate, const std::string path, const std::string attr)

Static Public Member Functions

static void setInstance (DataOutputQueue *instance)
 Sets the current DataOutputQueue that is active.
static DataOutputQueuegetInstance ()
 Get the current DataOuputQueue tht is active.

Static Public Attributes

static const uint SPECIES_COUNTS = 10
static const uint FIRST_PASSAGE_TIMES = 11
static const uint PARAMETER_VALUES = 12
static const uint BYTE_LATTICE = 20
static const uint INT_LATTICE = 21
static const uint SITE_LATTICE = 22
static const uint ARBITRARY_H5 = 23
static const uint ARBITRARY_H5_READ = 24

Protected Attributes

pthread_mutex_t dataMutex
queue< DataSet * > dataQueue
pthread_mutex_t returnMutex
std::list< DataSet * > returnList
pthread_cond_t returnAvailable

Detailed Description

A queue class that writes out data in the order it is recieved.

Constructor & Destructor Documentation

◆ DataOutputQueue()

lm::main::DataOutputQueue::DataOutputQueue ( )

Create a DataOutputQueue.

Here is the caller graph for this function:

◆ ~DataOutputQueue()

lm::main::DataOutputQueue::~DataOutputQueue ( )
virtual

Member Function Documentation

◆ getInstance()

DataOutputQueue * lm::main::DataOutputQueue::getInstance ( )
static

Get the current DataOuputQueue tht is active.

Returns
Active output queue
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pushDataSet() [1/4]

void lm::main::DataOutputQueue::pushDataSet ( const H5MetaData md,
uint replicate,
void * payload )
virtual
Here is the call graph for this function:

◆ pushDataSet() [2/4]

void lm::main::DataOutputQueue::pushDataSet ( DataSet * dataSet)
virtual

Put a DataSet on the queue.

Parameters
dataSetThe data set to be put on the queue for output

Reimplemented in lm::main::LocalDataOutputWorker.

◆ pushDataSet() [3/4]

void lm::main::DataOutputQueue::pushDataSet ( uint type,
uint replicate,
::google::protobuf::Message * message,
void * payload = NULL,
size_t payloadSize = 0,
void(* payloadSerializer )(void *, void *, size_t) = NULL )
virtual

Put some data on the queue to be output.

Parameters
typeType of data that is written to the data as a metaheader
messageA message to put to protocol buffers
payloadThe data to be output
payloadSizeThe size of the payload in bytes
payloadSerializerA function that converts the object/data to a stream of bytes (If this is NULL the object is written out as pure bytes)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ pushDataSet() [4/4]

void lm::main::DataOutputQueue::pushDataSet ( void * data,
size_t dataSize )
virtual

Put some data on the queue.

Parameters
dataThe data to be output
dataSizeSize of the data in bytes
Here is the call graph for this function:

◆ queryH5()

template<typename T>
void lm::main::DataOutputQueue::queryH5 ( const H5Lookup::Mode mode,
H5MetaData & hdr,
std::vector< T > & payload,
const uint replicate,
const std::string path,
const std::string attr = "" )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ queryH5attr()

template<typename T>
T lm::main::DataOutputQueue::queryH5attr ( const uint replicate,
const std::string path,
const std::string attr )
inline
Here is the call graph for this function:

◆ setInstance()

void lm::main::DataOutputQueue::setInstance ( DataOutputQueue * instance)
static

Sets the current DataOutputQueue that is active.

Parameters
instanceThe new "current" queue
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ ARBITRARY_H5

const uint lm::main::DataOutputQueue::ARBITRARY_H5 = 23
static

◆ ARBITRARY_H5_READ

const uint lm::main::DataOutputQueue::ARBITRARY_H5_READ = 24
static

◆ BYTE_LATTICE

const uint lm::main::DataOutputQueue::BYTE_LATTICE = 20
static

◆ dataMutex

pthread_mutex_t lm::main::DataOutputQueue::dataMutex
protected

◆ dataQueue

queue<DataSet *> lm::main::DataOutputQueue::dataQueue
protected

◆ FIRST_PASSAGE_TIMES

const uint lm::main::DataOutputQueue::FIRST_PASSAGE_TIMES = 11
static

◆ INT_LATTICE

const uint lm::main::DataOutputQueue::INT_LATTICE = 21
static

◆ PARAMETER_VALUES

const uint lm::main::DataOutputQueue::PARAMETER_VALUES = 12
static

◆ returnAvailable

pthread_cond_t lm::main::DataOutputQueue::returnAvailable
protected

◆ returnList

std::list<DataSet *> lm::main::DataOutputQueue::returnList
protected

◆ returnMutex

pthread_mutex_t lm::main::DataOutputQueue::returnMutex
protected

◆ SITE_LATTICE

const uint lm::main::DataOutputQueue::SITE_LATTICE = 22
static

◆ SPECIES_COUNTS

const uint lm::main::DataOutputQueue::SPECIES_COUNTS = 10
static

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