-
-
Notifications
You must be signed in to change notification settings - Fork 96
Open
Description
Description
- The current
IEventReaderinterface returns materializedTask<StreamEvent[]>arrays, which is inefficient for large streams as it requires loading all events into memory - The
failIfNotFoundparameter creates inconsistent behavior across implementations and complicates the interface contract - Streaming results with
IAsyncEnumerableenables memory-efficient processing of large event streams while maintaining backward compatibility through extension methods
Deliverables
- Interface redesign: Change
ReadEventsandReadEventsBackwardsto returnIAsyncEnumerable<StreamEvent>withoutfailIfNotFoundparameter - Backward compatibility: Implement extension methods in
StoreFunctionsthat preserve old signatures withfailIfNotFoundbehavior - Implementation updates: Refactor all event store implementations (KurrentDB, SQL, Redis, Elastic, InMemory, Tiered, Traced) to use async enumerable with
yield return - Tracing support: Add
TraceEnumerablemethod toBaseTracerfor proper instrumentation of async enumerable operations
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels