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