#include <clizAccumulator.h>
Public Member Functions | |
Accumulator (AccumulatorHandle iHandle, std::vector< Save * > &iOutputSaveVec, std::vector< IndicesStruct > &iIndicesOut) | |
void | feedExtChunk (signed __int16 *iExtChunk, unsigned int numValidSamples, uint64_t iCurrentTime) |
~Accumulator () | |
Modules Except for the Accumulator and the Communicator, all Modules share the same structure. For initialization, each Module needs a parameter handle, an std::vector of Saves for their input, an std::vector of Saves for their output and an std::vector of IndicesStructs to know which output Saves require which output. During initialization a worker thread is spawned that tries to receive input from all input Saves. Once one ChunkPtrStruct from each input Save was obtained, functions are called that perform the respective jobs of the module. For each output Save, based on the respective IndicesStruct, the data obtained from these functions is copied and a ChunkPtrStruct that holds a pointer to that data is pushed in the output Save.Module: Accumulator The accumulator allows to collect more raw data before it is passed to the Preprocessor (our module, not the C++ preprocessor)
cliz::Accumulator::Accumulator | ( | AccumulatorHandle | iHandle, |
std::vector< Save * > & | iOutputSaveVec, | ||
std::vector< IndicesStruct > & | iIndicesOut | ||
) |
Module: Accumulator Constructor The Accumulator is the only module that does not spawn its own thread.
|
inline |
void cliz::Accumulator::feedExtChunk | ( | signed __int16 * | iExtChunk, |
unsigned int | numValidSamples, | ||
uint64_t | iCurrentTime | ||
) |
Module: Accumulator Function to feed the ClusterLizard with data
[in] | iExtChunk | Array of int16 values (data input) |
[in] | numValidSamples | Number of data points in iExtChunk |
[in] | iCurrentTime | Timestamp of the first data point in iExtChunk |