Qore DataProvider Module Reference 2.7.5
Loading...
Searching...
No Matches
DataProviderPipelineFactory.qc.dox.h
1// -*- mode: c++; indent-tabs-mode: nil -*-
3
25// assume local scope for variables, do not use "$" signs
26// require type definitions everywhere
28// enable all warnings
29// allow weak references
30
32namespace DataProvider {
34public hashdecl PipelineFactoryInfo {
36 *hash<auto> opts;
37
40
42 bool bulk;
43};
44
48 int id;
49
50 #! Queue elements; either AbstractDataProcessor objects or a list of PipelineQueueInfo hashes
51 list<auto> elems();
52
53 #! Maximum queue size
54 int size;
55};
56
58
62
63public:
64
65
66protected:
68 *hash<PipelineOptionInfo> opts;
69
71 hash<string, hash<PipelineQueueInfo>> pmap;
72
74 bool do_bulk = True;
75
76public:
77
79
83 constructor(*hash<PipelineOptionInfo> opts);
84
85
87
89 hash<PipelineFactoryInfo> getInfo();
90
91
93
95 DataProviderPipeline create(*hash<PipelineOptionInfo> opts);
96
97
99
103
104
106
115 append(int id, AbstractDataProcessor processor);
116
117
119
129 int appendQueue(int id);
130
131
133protected:
134 checkUpdateQueue(softstring id);
135public:
136
137
139protected:
140 processQueue(DataProviderPipeline pipe, int id, hash<PipelineQueueInfo> queue);
141public:
142
143};
144};
Defines an abstract class for accepting data and outputting optionally transformed or filtered data.
Definition: AbstractDataProcessor.qc.dox.h:33
A factory class for creating DataProviderPipeline objects.
Definition: DataProviderPipelineFactory.qc.dox.h:61
checkUpdateQueue(softstring id)
Checks if the given queue exists.
DataProviderPipeline create(*hash< PipelineOptionInfo > opts)
Creates a new DataProviderPipeline object.
processQueue(DataProviderPipeline pipe, int id, hash< PipelineQueueInfo > queue)
Creates a queue in a pipeline.
constructor(*hash< PipelineOptionInfo > opts)
Creates the object with the given options.
int appendQueue(int id)
Appends a new queue to an existing pipeline and returns the new queue ID.
hash< PipelineFactoryInfo > getInfo()
Returns pipeline factory info.
bool do_bulk
Bulk flag.
Definition: DataProviderPipelineFactory.qc.dox.h:74
append(AbstractDataProcessor processor)
Appends a data processor to the default pipeline.
append(int id, AbstractDataProcessor processor)
Appends a data processor to a pipeline.
hash< string, hash< PipelineQueueInfo > > pmap
Hash of queues keyed by queue ID.
Definition: DataProviderPipelineFactory.qc.dox.h:71
*hash< PipelineOptionInfo > opts
Options for the pipelines.
Definition: DataProviderPipelineFactory.qc.dox.h:68
Defines a class for passing data through record processors.
Definition: DataProviderPipeline.qc.dox.h:207
Qore AbstractDataField class definition.
Definition: AbstractDataField.qc.dox.h:27
hashdecl PipelineQueueInfo
Internal hashdecl for pipeline queue info.
Definition: DataProviderPipelineFactory.qc.dox.h:46
Pipeline factory info.
Definition: DataProviderPipelineFactory.qc.dox.h:34
*hash< auto > opts
Options for new pipelines.
Definition: DataProviderPipelineFactory.qc.dox.h:36
int num_queues
Number of pipeline queues.
Definition: DataProviderPipelineFactory.qc.dox.h:39
bool bulk
Flag that indicates if the pipelines to be created are capable of bulk record processing.
Definition: DataProviderPipelineFactory.qc.dox.h:42