void IDisposable.Dispose() { Debug.Assert(EventsToPublish.Any(), $"There are undelivered events on {PublisherName}"); httpClient?.Dispose(); httpClientHandler?.Dispose(); }
public void AppendToStream(string streamId, IList <IEvent> events) { Events = Events.Concat(events); EventsToPublish = EventsToPublish.Concat(events); if (StreamEvents.ContainsKey(streamId)) { StreamEvents[streamId] = StreamEvents[streamId].Concat(events); } else { StreamEvents.Add(streamId, events); } }
public void Trigger() { var events = EventsToPublish.ToArray(); EventsToPublish = new List <IEvent>(); foreach (var @event in events) { foreach (var subscriber in Subscribers) { subscriber(@event); } } }
void IDisposable.Dispose() { Debug.Assert(EventsToPublish.Any(), $"There are undelivered events on {PublisherName}"); eventHubClient?.Close(); eventHubClient = null; }