27#ifndef NIDAS_DYNLD_RAF_SYNCRECORDGENERATOR_H
28#define NIDAS_DYNLD_RAF_SYNCRECORDGENERATOR_H
33namespace nidas {
namespace dynld {
namespace raf {
132 void printStatus(std::ostream&,
float deltat,
int&)
throw();
Pure virtual interface of a client of Samples.
Definition SampleClient.h:38
Interface of a processor of samples.
Definition SampleIOProcessor.h:50
Interface of an output stream of samples.
Definition SampleOutput.h:49
Pure virtual interface for a source of Samples.
Definition SampleSource.h:48
A source of samples.
Definition SampleStats.h:41
Class for iterating over the SampleTags of a Project, Site, DSMConfig, or a SampleSource.
Definition NidsIterators.h:218
Class describing a group of variables that are sampled and handled together.
Definition SampleTag.h:88
Definition SyncRecordGenerator.h:38
void connectSource(SampleSource *source) override
Implementation of SampleIOProcessor::connectSource(SampleSource*).
Definition SyncRecordGenerator.cc:80
void addSampleClient(SampleClient *client)
Implementation of SampleSource::addSampleClient().
Definition SyncRecordGenerator.cc:160
virtual ~SyncRecordGenerator()
Definition SyncRecordGenerator.cc:56
std::set< SampleSource * > _connectedSources
Definition SyncRecordGenerator.h:150
void disconnectSource(SampleSource *source)
Implementation of SampleIOProcessor::disconnectSource(SampleSource*).
Definition SyncRecordGenerator.cc:108
void disconnect(SampleOutput *output)
Implementation of SampleConnectionRequester::disconnect(SampleOutput*).
Definition SyncRecordGenerator.cc:127
SampleTagIterator getSampleTagIterator() const
Implementation of SampleSource::getSampleTagIterator().
Definition SyncRecordGenerator.h:85
SyncRecordSource * getSyncRecordSource()
Definition SyncRecordGenerator.h:135
SyncRecordGenerator & operator=(const SyncRecordGenerator &)
No assignment.
void init(dsm_time_t sampleTime)
Definition SyncRecordGenerator.cc:176
SyncRecordGenerator()
Constructor.
Definition SyncRecordGenerator.cc:46
nidas::util::Mutex _connectionMutex
Definition SyncRecordGenerator.h:148
std::set< SampleOutput * > _connectedOutputs
Definition SyncRecordGenerator.h:152
void allocateRecord(dsm_time_t timetag)
SyncRecordSource _syncRecSource
Definition SyncRecordGenerator.h:154
long long _numInputBytesLast
Definition SyncRecordGenerator.h:160
size_t _numInputSampsLast
Definition SyncRecordGenerator.h:156
void connect(SampleOutput *output)
Implementation of SampleConnectionRequester::connect(SampleOutput*).
Definition SyncRecordGenerator.cc:116
std::list< const SampleTag * > getSampleTags() const
Implementation of SampleSource::getSampleTags().
Definition SyncRecordGenerator.h:77
void removeSampleClient(SampleClient *client)
Remove a SampleClient from this SampleSource.
Definition SyncRecordGenerator.h:95
void removeSampleClientForTag(SampleClient *client, const SampleTag *tag)
Remove a SampleClient for a given SampleTag from this SampleSource.
Definition SyncRecordGenerator.h:109
void scanSensors(const std::list< DSMSensor * > &sensors)
int getClientCount() const
How many SampleClients are currently in my list.
Definition SyncRecordGenerator.h:114
long long _numOutputBytesLast
Definition SyncRecordGenerator.h:162
void flush()
Implementation of SampleSource::flush().
Definition SyncRecordGenerator.h:122
size_t _numOutputSampsLast
Definition SyncRecordGenerator.h:158
void addSampleClientForTag(SampleClient *client, const SampleTag *tag)
Add a Client for a given SampleTag.
Definition SyncRecordGenerator.h:104
SyncRecordGenerator(const SyncRecordGenerator &)
No copying.
void printStatus(std::ostream &, float deltat, int &)
Definition SyncRecordGenerator.cc:184
const SampleStats & getSampleStats() const
Definition SyncRecordGenerator.h:127
void sendHeader(dsm_time_t thead, SampleOutput *output)
Method called to write a header to an SampleOutput.
Definition SyncRecordGenerator.cc:169
Definition SyncRecordSource.h:56
void removeSampleClient(SampleClient *client)
Remove a SampleClient from this SampleSource.
Definition SyncRecordSource.h:244
void removeSampleClientForTag(SampleClient *client, const SampleTag *)
Remove a SampleClient for a given SampleTag from this SampleSource.
Definition SyncRecordSource.h:259
void addSampleClientForTag(SampleClient *client, const SampleTag *)
Add a Client for a given SampleTag.
Definition SyncRecordSource.h:253
int getClientCount() const
How many SampleClients are currently in my list.
Definition SyncRecordSource.h:264
const SampleStats & getSampleStats() const
Definition SyncRecordSource.h:275
void flush()
Implementation of Resampler::flush().
Definition SyncRecordSource.cc:628
std::list< const SampleTag * > getSampleTags() const
Get the output SampleTags.
Definition SyncRecordSource.h:223
SampleTagIterator getSampleTagIterator() const
Implementation of SampleSource::getSampleTagIterator().
Definition SyncRecordSource.h:231
A C++ wrapper for a POSIX mutex.
Definition ThreadSupport.h:161
The essential core classes of nidas.
Definition A2DConverter.h:31
long long dsm_time_t
Posix time in microseconds, the number of non-leap microseconds since 1970 Jan 1 00:00 UTC.
Definition Sample.h:62
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31