27#ifndef NIDAS_CORE_SAMPLETHREAD_H
28#define NIDAS_CORE_SAMPLETHREAD_H
36namespace nidas {
namespace core {
65 virtual void flush() throw() = 0;
74 virtual
size_t size() const = 0;
Pure virtual interface of a client of Samples.
Definition SampleClient.h:38
Pure virtual interface for a source of Samples.
Definition SampleSource.h:48
Interface for a Thread for buffering samples.
Definition SampleThread.h:54
virtual bool getHeapBlock() const =0
virtual void setKeepStats(bool val)=0
virtual bool getRealTime() const =0
virtual void setHeapBlock(bool val)=0
virtual size_t getHeapSize() const =0
Get the current amount of heap being used for sorting.
virtual size_t size() const =0
Number of samples that have not be distributed.
virtual ~SampleThread()
Definition SampleThread.h:59
virtual void setLengthSecs(float val)=0
virtual size_t getHeapMax() const =0
SampleThread(const std::string &name)
Definition SampleThread.h:57
virtual size_t getNumFutureSamples() const =0
Number of samples discarded because their timetags were in the future.
virtual unsigned int getLateSampleCacheSize() const =0
virtual void setHeapMax(size_t val)=0
Set the maximum amount of heap memory to use for sorting samples.
virtual void setRealTime(bool val)=0
Is this thread running in real-time, meaning is it handling recently sampled data?...
virtual bool getKeepStats() const =0
virtual void setLateSampleCacheSize(unsigned int val)=0
virtual void flush()=0
Both SampleClient and SampleSource have a flush() method.
virtual float getLengthSecs() const =0
virtual size_t getNumDiscardedSamples() const =0
Number of samples discarded because of _heapSize > _heapMax and heapBlock == true.
Thread(const std::string &name, bool detached=false)
Constructor for a thread, giving it a name.
Definition Thread.cc:136
Root namespace for the NCAR In-Situ Data Acquisition Software.
Definition A2DConverter.h:31