27 #ifndef NIDAS_CORE_SAMPLEOUTPUTREQUESTTHREAD_H
28 #define NIDAS_CORE_SAMPLEOUTPUTREQUESTTHREAD_H
35 namespace nidas {
namespace core {
Interface for an object that requests connections SampleOutputs.
Definition: ConnectionRequester.h:42
~SampleOutputRequestThread()
Definition: SampleOutputRequestThread.h:93
Interface of an output stream of samples.
Definition: SampleOutput.h:47
static void destroyInstance()
Singleton destructor.
Definition: SampleOutputRequestThread.cc:54
Definition: SampleOutputRequestThread.h:78
int run()
The method which will run in its own thread.
Definition: SampleOutputRequestThread.cc:127
SampleOutputRequestThread()
Definition: SampleOutputRequestThread.cc:74
static nidas::util::Mutex _instanceLock
Definition: SampleOutputRequestThread.h:97
SampleConnectionRequester * _requester
Definition: SampleOutputRequestThread.h:85
Interface of an output stream of samples.
Definition: SampleOutputRequestThread.h:40
static SampleOutputRequestThread * getInstance()
Return pointer to instance of singleton, creating instance if necessary.
Definition: SampleOutputRequestThread.cc:44
void addDeleteRequest(SampleOutput *)
Request that SampleOutputRequestThread delete the output when it can.
Definition: SampleOutputRequestThread.cc:95
Definition: Exception.h:35
std::list< ConnectRequest > _connectRequests
Definition: SampleOutputRequestThread.h:99
void addConnectRequest(SampleOutput *, SampleConnectionRequester *, int delaySecs)
Add an connect request of a SampleOutput.
Definition: SampleOutputRequestThread.cc:80
nidas::util::Cond _requestCond
Definition: SampleOutputRequestThread.h:103
std::list< SampleOutput * > _disconnectRequests
Definition: SampleOutputRequestThread.h:101
void interrupt()
Interrupt the thread.
Definition: SampleOutputRequestThread.cc:120
A wrapper class for a Posix condition variable.
Definition: ThreadSupport.h:245
ConnectRequest(SampleOutput *o, SampleConnectionRequester *r, time_t when)
Definition: SampleOutputRequestThread.h:80
void clear()
Clear all current requests.
Definition: SampleOutputRequestThread.cc:103
SampleOutput * _output
Definition: SampleOutputRequestThread.h:84
static SampleOutputRequestThread * _instance
Definition: SampleOutputRequestThread.h:95
A C++ wrapper for a POSIX mutex.
Definition: ThreadSupport.h:154
time_t _when
Definition: SampleOutputRequestThread.h:86