You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DataFlow (TPL) is high level library for writing data flow pipelines (based on TPL). The library is not part of .NET Framework, but it is distributed as an external NuGet. However it is well supported by Microsoft with mid-term roadmap to .NET 6.0 and beyond. ISourceBlock and ITargetBlock abstractions fit naturally with Perper and Perper fits well with DataFlow further extending its parallelization capabilities beyond a single machine.
Proposal
Support ISourceBlock and ITargetBlock in addition to IAsyncEnumerable as function signatures.
publicITargetBlock<string>RunAsync([PerperTrigger]ISourceBlock<string>input){// create arbitrary data flow network }
Note:Providing custom ISourceBlock implementation will be very similar to IAsyncEnumerable implementation in Perper. Receiving ITargetBlock messages will be part of the binders / converters logic in the extension (similarly to handling IAsyncEnumerable)
Add extension method AsSourceBlock() of Perper IStream abstraction.
varrealTime=await_context.StreamFunctionAsync<dynamic>(nameof(RealTimeMinuteBars),symbols);// realTime.AsSourceBlock() can be used to incorporate it in a data flow network
Add ITargetBlock as function signature for blank streams in addition to IAsyncCollector.
* fix: rework PerperBinarySerializer, making it more useful
* chore: Add versioned image tagging to fabric workflow
* chore: add logging
* feat: Implement Filter, Replay, and Query
* chore: Reformat and bump version to 0.6.0-alpha6
* feat: Unit test mocks for IState, IStream, IContext, and IAgent
Addresses part of #55
* refactor: Change Test -> Fake, make mocks more usable
* feat: add DI support in custom handler
* fix: temp fix for compile error
* feat: Add extension methods for converting to/from Dataflow blocks
Implements #73 in the simplest manner.
Co-authored-by: Branimir Angelov <[email protected]>
Background
DataFlow (TPL) is high level library for writing data flow pipelines (based on TPL). The library is not part of .NET Framework, but it is distributed as an external NuGet. However it is well supported by Microsoft with mid-term roadmap to .NET 6.0 and beyond.
ISourceBlock
andITargetBlock
abstractions fit naturally with Perper and Perper fits well with DataFlow further extending its parallelization capabilities beyond a single machine.Proposal
ISourceBlock
andITargetBlock
in addition toIAsyncEnumerable
as function signatures.Note: Providing custom
ISourceBlock
implementation will be very similar toIAsyncEnumerable
implementation in Perper. ReceivingITargetBlock
messages will be part of the binders / converters logic in the extension (similarly to handlingIAsyncEnumerable
)AsSourceBlock()
of PerperIStream
abstraction.ITargetBlock
as function signature for blank streams in addition toIAsyncCollector
.The text was updated successfully, but these errors were encountered: