Class HistoryEventPublisher<TEvent>
Represents a generic disposable event source that can be listened to, capable of recording previously published events.
public class HistoryEventPublisher<TEvent> : EventPublisher<TEvent>, IHistoryEventPublisher<TEvent>, IEventPublisher<TEvent>, IEventSource<TEvent>, IEventStream<TEvent>, IEventPublisher, IEventSource, IEventStream, IDisposable
Type Parameters
TEventEvent type.
- Inheritance
-
EventSource<TEvent>EventPublisher<TEvent>HistoryEventPublisher<TEvent>
- Implements
-
IHistoryEventPublisher<TEvent>IEventPublisher<TEvent>IEventSource<TEvent>IEventStream<TEvent>
- Inherited Members
- Extension Methods
Constructors
HistoryEventPublisher(int)
Creates a new HistoryEventPublisher<TEvent> instance.
public HistoryEventPublisher(int capacity)
Parameters
capacityintSpecifies the maximum number of events this event publisher can record.
Exceptions
- ArgumentOutOfRangeException
When
capacityis less than 1.
Properties
Capacity
Specifies the maximum number of events this event publisher can record.
public int Capacity { get; }
Property Value
History
Collection of recorded previously published events.
public TEvent[] History { get; }
Property Value
- TEvent[]
Methods
ClearHistory()
Removes all recorded events.
public void ClearHistory()
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public override void Dispose()
OnPublish(TEvent)
Allows to react to event publishing.
protected override void OnPublish(TEvent @event)
Parameters
eventTEventEvent to publish.
OnSubscriberAddedUnsafe(IEventSubscriber, IEventListener<TEvent>)
Allows to react to attachment of a new event subscriber.
protected override void OnSubscriberAddedUnsafe(IEventSubscriber subscriber, IEventListener<TEvent> listener)
Parameters
subscriberIEventSubscriberAttached event subscriber.
listenerIEventListener<TEvent>Event listener attached to the event subscriber.
Remarks
This method call is not thread-safe by default.
OnSubscriberRegistered(IEventSubscriber, IEventListener<TEvent>)
Allows to override an event listener after subscriber has been registered.
protected override IEventListener<TEvent> OnSubscriberRegistered(IEventSubscriber subscriber, IEventListener<TEvent> listener)
Parameters
subscriberIEventSubscriberEvent subscriber.
listenerIEventListener<TEvent>Event listener to override.
Returns
- IEventListener<TEvent>
IEventListener<TEvent> instance.
StartHistoryListener(IEventListener<TEvent>)
Starts an internal history listener.
protected void StartHistoryListener(IEventListener<TEvent> listener)
Parameters
listenerIEventListener<TEvent>Listener to start.
Exceptions
- InvalidCastException
When
listeneris not a history listener returned by OnSubscriberRegistered(IEventSubscriber, IEventListener<TEvent>) method.