Qore DataProvider Module Reference  1.0.2
DataProvider::PipelineQueue Class Reference

Pipeline element. More...

Public Member Methods

Condition cond ()
 Queue condition variable.
 
 constructor (DataProviderPipeline parent, Mutex lck, Counter cnt, int id, int size)
 Creates the object.
 
list< auto > elems ()
 Pipeline elements. More...
 
int getId ()
 Returns the pipeline ID.
 
 run (Counter run_cnt)
 Processing thread.
 
 submit (auto record)
 Submits data for processing. More...
 
 waitDone ()
 Wait for the queue to be empty, then wait for all terminating pipelines to be empty. More...
 

Public Attributes

Counter cnt
 Parent counter.
 
int data_waiting = 0
 Number of threads waiting on data.
 
int id
 Pipeline ID.
 
Mutex lck
 Parent lock.
 
DataProviderPipeline parent
 Parent object.
 
list< auto > queue
 Data queue.
 
int queue_waiting = 0
 Number of threads waiting data to be removed from the queue.
 
int size
 Maximum queue size.
 
int tid
 TID of the background thread.
 

Detailed Description

Pipeline element.

Member Function Documentation

◆ elems()

list<auto> DataProvider::PipelineQueue::elems ( )

Pipeline elements.

elements are either:

◆ submit()

DataProvider::PipelineQueue::submit ( auto  record)

Submits data for processing.

Parameters
recordthe record to process
Exceptions
PIPELINE-SUBMISSION-ABORTEDcannot submit data; the pipeline is shutting down or has aborted

◆ waitDone()

DataProvider::PipelineQueue::waitDone ( )

Wait for the queue to be empty, then wait for all terminating pipelines to be empty.

Note
Called in the pipeline lock