Nymph  v1.5.2
Flow-Based Data Processing Framework
Public Member Functions | Private Attributes | List of all members
KTDataQueueProcessor Class Reference

Generic data queue for asynchronous processing. More...

#include <KTDataQueueProcessor.hh>

Inheritance diagram for KTDataQueueProcessor:
Inheritance graph

Public Member Functions

 KTDataQueueProcessor (const std::string &name="data-queue")
 
virtual ~KTDataQueueProcessor ()
 
bool ConfigureSubClass (const scarab::param_node &node)
 
void EmitDataSignal (KTDataPtr data)
 
void QueueData (KTDataPtr &data)
 
- Public Member Functions inherited from KTDataQueueProcessorTemplate< KTDataQueueProcessor >
 KTDataQueueProcessorTemplate (const std::string &name="default-data-queue-proc-template-name")
 
virtual ~KTDataQueueProcessorTemplate ()
 
bool Configure (const scarab::param_node &node)
 Should perform parameter store and command-line configurations. More...
 
Status GetStatus () const
 
void SetStatus (KTDataQueueProcessorTemplate< KTDataQueueProcessor >::Status)
 
void SetFuncPtr (void(KTDataQueueProcessor ::*ptr)(KTDataPtr))
 
bool Run ()
 Begins processing of queue (switches status from kStopped to kRunning) More...
 
void Stop ()
 Stops processing of queue (switches status to kStopped) More...
 
bool ProcessQueue ()
 Begins processing of queue if status is already kRunning; otherwise does nothing. More...
 
void ClearQueue ()
 
void SwitchToTimedPop ()
 
void SwitchToUntimedPop ()
 
void SwitchToSinglePop ()
 
- Public Member Functions inherited from KTPrimaryProcessor
 KTPrimaryProcessor (const std::string &name="default-primary-processor-name")
 
virtual ~KTPrimaryProcessor ()
 
virtual void operator() ()
 Callable function used by boost::thread. More...
 
- Public Member Functions inherited from KTProcessor
 KTProcessor (const std::string &name="default-proc-name")
 
virtual ~KTProcessor ()
 
void ConnectASlot (const std::string &signalName, KTProcessor *processor, const std::string &slotName, int groupNum=-1)
 
void ConnectASignal (KTProcessor *processor, const std::string &signalName, const std::string &slotName, int groupNum=-1)
 
void ConnectSignalToSlot (KTSignalWrapper *signal, KTSlotWrapper *slot, int groupNum=-1)
 
template<class XProcessor >
void RegisterSignal (std::string name, XProcessor *signalPtr)
 
template<class XTarget , typename XReturn >
void RegisterSlot (std::string name, XTarget *target, XReturn(XTarget::*funcPtr)())
 
template<class XTarget , typename XReturn , typename XArg1 >
void RegisterSlot (std::string name, XTarget *target, XReturn(XTarget::*funcPtr)(XArg1))
 
template<class XTarget , typename XReturn , typename XArg1 , typename XArg2 >
void RegisterSlot (std::string name, XTarget *target, XReturn(XTarget::*funcPtr)(XArg1, XArg2))
 
KTSignalWrapperGetSignal (const std::string &name)
 
KTSlotWrapperGetSlot (const std::string &name)
 
template<typename XSignalSig >
void RegisterSignal (std::string name, XSignalSig *signalPtr)
 
- Public Member Functions inherited from KTConfigurable
 KTConfigurable (const std::string &name="default-name")
 
virtual ~KTConfigurable ()
 
bool Configure (const std::string &config)
 Implement the option for calling Configure without passing a parameter store node. More...
 
const std::string & GetConfigName () const
 
void SetConfigName (const std::string &name)
 

Private Attributes

KTSignalData fDataSignal
 

Additional Inherited Members

- Public Types inherited from KTDataQueueProcessorTemplate< KTDataQueueProcessor >
enum  Status
 
typedef KTConcurrentQueue< DataAndFunc > Queue
 
typedef bool(KTConcurrentQueue< DataAndFunc >::* QueuePoppingFunc) (DataAndFunc &)
 
- Protected Types inherited from KTProcessor
typedef std::map< std::string, KTSignalWrapper *> SignalMap
 
typedef SignalMap::iterator SigMapIt
 
typedef SignalMap::value_type SigMapVal
 
typedef std::map< std::string, KTSlotWrapper *> SlotMap
 
typedef SlotMap::iterator SlotMapIt
 
typedef SlotMap::value_type SlotMapVal
 
- Protected Member Functions inherited from KTDataQueueProcessorTemplate< KTDataQueueProcessor >
void DoQueueData (KTDataPtr &data, void(KTDataQueueProcessor ::*func)(KTDataPtr))
 
- Protected Attributes inherited from KTDataQueueProcessorTemplate< KTDataQueueProcessor >
Status fStatus
 
void(KTDataQueueProcessor ::* fFuncPtr )(KTDataPtr)
 
Queue fQueue
 
QueuePoppingFunc fPopFromQueue
 
KTSignalOneArg< void > fQueueDoneSignal
 
- Protected Attributes inherited from KTProcessor
SignalMap fSignalMap
 
SlotMap fSlotMap
 
- Protected Attributes inherited from KTConfigurable
KTCommandLineHandlerfCLHandler
 
std::string fConfigName
 

Detailed Description

Generic data queue for asynchronous processing.

Author
N. S. Oblath

Configuration name: "data-queue"

Available configuration values:

Slots:

Signals:

Definition at line 160 of file KTDataQueueProcessor.hh.

Constructor & Destructor Documentation

◆ KTDataQueueProcessor()

KTDataQueueProcessor ( const std::string &  name = "data-queue")

Definition at line 16 of file KTDataQueueProcessor.cc.

◆ ~KTDataQueueProcessor()

~KTDataQueueProcessor ( )
virtual

Definition at line 24 of file KTDataQueueProcessor.cc.

Member Function Documentation

◆ ConfigureSubClass()

bool ConfigureSubClass ( const scarab::param_node &  node)
virtual

◆ EmitDataSignal()

void EmitDataSignal ( KTDataPtr  data)

Definition at line 34 of file KTDataQueueProcessor.cc.

◆ QueueData()

void QueueData ( KTDataPtr data)

Queue an data object; will emit data signal Assumes ownership of the data; original shared pointer will be nullified

Definition at line 40 of file KTDataQueueProcessor.cc.

Member Data Documentation

◆ fDataSignal

KTSignalData fDataSignal
private

Definition at line 176 of file KTDataQueueProcessor.hh.


The documentation for this class was generated from the following files: