Producer pattern in data types
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
unit Myc.Ast.DataStream;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Myc.Data.Pipeline,
|
||||
Myc.Data.Scalar;
|
||||
|
||||
type
|
||||
// 1. IStreamProducer (Source)
|
||||
// Provides data. Corresponds to IProducer<T>.
|
||||
IStreamProducer = IProducer<IScalarRecordSeries>;
|
||||
|
||||
// 2. IStreamConsumer (Sink)
|
||||
// Consumes data. Corresponds to IConsumer<T>.
|
||||
IStreamConsumer = IConsumer<IScalarRecordSeries>;
|
||||
|
||||
// 3. IStreamConverter (Transform/Pipe)
|
||||
// Consumes AND provides data.
|
||||
// IMPORTANT: Inherits from IProducer, allowing safe hard-casts to IStreamProducer.
|
||||
IStreamConverter = IConverter<IScalarRecordSeries, IScalarRecordSeries>;
|
||||
|
||||
implementation
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user