-
Notifications
You must be signed in to change notification settings - Fork 3
/
TODO
26 lines (26 loc) · 1.73 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[] Could have separate interfaces for IStreamReader / IStreamWriter
[] Can we use System.Text.Json instead of Newtonsoft?
[] Example of HTTP streaming (IAsyncEnumerable)
[x] Calculate event number
[x] Append stream (any revision) and validate stream exists
[x] Append stream and validate stream does not exist
[x] Append stream and validate stream revision
[x] Append stream any state
[] Needs optimising as relying on query
[x] Read all stream forwards
[] How to expose metadata such as RUs in response?
[x] Helper for formatting event IDs {revision}@{streamId}
[x] Model extensions (Aggregate + Repository)
[] Review cosmos SDK performance tips - https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/performance-tips-dotnet-sdk-v3?tabs=trace-net-core
[] Integrate with https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/how-to-use-change-feed-estimator
[] In cases where only a single event is being appended we can avoid using a transaction
[] Doesn't seem to incur additional cost but may be slower?
[x] Include full Clr type, name and qualified name without version in metadata - include just the name for now
[] How to reduce the interval between acquiring a new lease
[] Support idempotence based on Event ID - ref https://developers.eventstore.com/clients/dotnet/5.0/appending.html#idempotence
[x] It would be helpful to return the event number/combined id (as metadata?)
[] Optimise for the append only (non versioning) use-case
[] Here the metadata item might be a better approach since subsequent writes don't depend on its state
[x] Return immediately if events.count == 0
[ ] When querying for events we can check the query response and return a static empty list immediately rather than awaiting the result
[] Aggregate exists support