Thanks Greg.
If a client did not ack, should the message not be resent again. When I debug my subscriber, that event is not raised.
The subscription is created as such
await connection.ConnectToPersistentSubscriptionAsync(StreamCategoryName,
StreamName,
OnDomainEventAppeared,
OnSubscriptionDropped,
null,
10,
false)
.ConfigureAwait(false);
and on OnDomainEventAppeared is as such _domainEventAppeared is ReactiveExtensions. We wont ack if it goes into one of the catch blocks.
private void OnDomainEventAppeared(EventStorePersistentSubscriptionBase subscriptionBase, ResolvedEvent resolvedEvent)
{
Logger.Trace($"{_className}.OnDomainEventAppeared called.");
try
{
var domainEvent = MapStoredEventToDomainEventAsync(resolvedEvent);
var eventAppeared = new DomainEventAppeared(domainEvent, resolvedEvent.OriginalEventNumber,
resolvedEvent.Event.EventStreamId);
_domainEventAppeared?.OnNext(eventAppeared);
subscriptionBase.Acknowledge(resolvedEvent);
}