The branch 20250802_rabbitmq shows a way to add listeners that catch messages about initial snapshots, new events and delete events using rabbitmq. This way is detached from the library itself as the message sender is a generic Task. This means that any other methods or any other message bus/message broker/event broker/ library can be integrated to implement the sending events and rebuild the state by a message listener.
Add an implementation that is different from rabbitMq.
Note: the rabbitmq implementation add a companion Consumer.fs class beside any model that will be injected in to the hosted services. So there is a different consumer per aggregate.
If your idea is to implement a single consumer for all aggregates of for a group of type of aggregates that's fine as well.
The branch 20250802_rabbitmq shows a way to add listeners that catch messages about initial snapshots, new events and delete events using rabbitmq. This way is detached from the library itself as the message sender is a generic Task. This means that any other methods or any other message bus/message broker/event broker/ library can be integrated to implement the sending events and rebuild the state by a message listener.
Add an implementation that is different from rabbitMq.
Note: the rabbitmq implementation add a companion Consumer.fs class beside any model that will be injected in to the hosted services. So there is a different consumer per aggregate.
If your idea is to implement a single consumer for all aggregates of for a group of type of aggregates that's fine as well.