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

A DataOutputQueue that works for MPI jobs across various different nodes that outputs only on the "master" thread. More...

#include <MPIRemoteDataOutputQueue.h>

Inheritance diagram for lm::main::MPIRemoteDataOutputQueue:
[legend]
Collaboration diagram for lm::main::MPIRemoteDataOutputQueue:
[legend]

Public Member Functions

 MPIRemoteDataOutputQueue ()
 Create a new MPIRemoteDataOutputQueue.
virtual ~MPIRemoteDataOutputQueue ()
virtual bool isEmpty ()
 Tell if the queue is empty.
virtual size_t popDataSetIntoBuffer (void *buffer, size_t bufferSize)
 Pop data from queue and write to the buffer.
Public Member Functions inherited from lm::main::DataOutputQueue
 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)

Additional Inherited Members

Static Public Member Functions inherited from lm::main::DataOutputQueue
static void setInstance (DataOutputQueue *instance)
 Sets the current DataOutputQueue that is active.
static DataOutputQueuegetInstance ()
 Get the current DataOuputQueue tht is active.
Static Public Attributes inherited from lm::main::DataOutputQueue
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 inherited from lm::main::DataOutputQueue
pthread_mutex_t dataMutex
queue< DataSet * > dataQueue
pthread_mutex_t returnMutex
std::list< DataSet * > returnList
pthread_cond_t returnAvailable

Detailed Description

A DataOutputQueue that works for MPI jobs across various different nodes that outputs only on the "master" thread.

Constructor & Destructor Documentation

◆ MPIRemoteDataOutputQueue()

lm::main::MPIRemoteDataOutputQueue::MPIRemoteDataOutputQueue ( )
inline

Create a new MPIRemoteDataOutputQueue.

◆ ~MPIRemoteDataOutputQueue()

virtual lm::main::MPIRemoteDataOutputQueue::~MPIRemoteDataOutputQueue ( )
inlinevirtual

Member Function Documentation

◆ isEmpty()

bool lm::main::MPIRemoteDataOutputQueue::isEmpty ( )
virtual

Tell if the queue is empty.

Returns
true if the queue is empty
Here is the call graph for this function:
Here is the caller graph for this function:

◆ popDataSetIntoBuffer()

size_t lm::main::MPIRemoteDataOutputQueue::popDataSetIntoBuffer ( void * buffer,
size_t bufferSize )
virtual

Pop data from queue and write to the buffer.

Parameters
bufferThe data buffer into which the next DataSet object should be written
bufferSizeThe size of the buffer
Returns
Number of bytes written to the buffer
Here is the caller graph for this function:

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