RagingKore / Krimson

MIT License
11 stars 4 forks source link

Add KrimsonSubscriptionGapTracker #18

Closed gkinsman closed 1 year ago

gkinsman commented 1 year ago

When creating projections in Krimson, its necessary to be able to ensure that a processor has processed all available events in an existing stream. This PR adds an interface IHasCaughtUp that can be used from anywhere DI is available to determine whether a processor with a given client id has caught up.

This solves an issue with existing usages of Krimson:

RagingKore commented 1 year ago

Added capability to check the gaps themselves and renamed the component.

RagingKore commented 1 year ago

Can merge as soon as you check the changes.

gkinsman commented 1 year ago

Looks great, nice one! 👍