openDAQ
Open data acquisition platform
BlockReaderPtr Class Reference

A signal data reader that abstracts away reading of signal packets by keeping an internal read-position and automatically advances it on subsequent reads. The difference to a StreamReader is that instead of reading on per sample basis it always returns only a full block of samples. This means that even if more samples are available they will not be read until there is enough of them to fill at least one block. More...

+ Inheritance diagram for BlockReaderPtr:
+ Collaboration diagram for BlockReaderPtr:

Detailed Description

A signal data reader that abstracts away reading of signal packets by keeping an internal read-position and automatically advances it on subsequent reads. The difference to a StreamReader is that instead of reading on per sample basis it always returns only a full block of samples. This means that even if more samples are available they will not be read until there is enough of them to fill at least one block.

Remarks
Currently only supports single-dimensional scalar sample-types and RangeInt64

Public Member Functions

daq::BlockReaderStatusPtr read (void *blocks, daq::SizeT *count, daq::SizeT timeoutMs=0) const
 Copies at maximum the next count blocks of unread samples to the values buffer. The amount actually read is returned through the count parameter. More...
 
daq::BlockReaderStatusPtr readWithDomain (void *dataBlocks, void *domainBlocks, daq::SizeT *count, daq::SizeT timeoutMs=0) const
 Copies at maximum the next count blocks of unread samples and clock-stamps to the dataBlocks and domainBlocks buffers. The amount actually read is returned through the count parameter. More...
 
daq::SizeT getBlockSize () const
 The amount of samples the reader considers as one block. More...
 
daq::SizeT getOverlap () const
 The amount of block overlapping. More...
 
- Public Member Functions inherited from GenericSampleReaderPtr< IBlockReader >
daq::SampleType getValueReadType () const
 Gets the sample-type the signal value samples will be converted to when read or SampleType::Invalid if read-type has not been determined yet. More...
 
daq::SampleType getDomainReadType () const
 Gets the sample-type the signal domain samples will be converted to when read or SampleType::Invalid if read-type has not been determined yet. More...
 
void setValueTransformFunction (const daq::FunctionPtr &transform) const
 Sets the transform function that will be called with the read value-data and currently valid Signal-Descriptor giving the user the chance add a custom post-processing step. The function should have a signature compatible with: More...
 
void setDomainTransformFunction (const daq::FunctionPtr &transform) const
 Sets the transform function that will be called with the read domain-data and currently valid Signal-Descriptor giving the user the chance add a custom post-processing step. The function should have a signature compatible with: More...
 
daq::ReadMode getReadMode () const
 Gets the reader's read mode which determines if the reader will also scale the read data or not. More...