Class EventExchange
Represents a mutable collection of event publishers identifiable by their event types.
public sealed class EventExchange : IMutableEventExchange, IEventExchange, IDisposable
- Inheritance
-
EventExchange
- Implements
- Inherited Members
- Extension Methods
Constructors
EventExchange()
Creates a new empty EventExchange instance.
public EventExchange()
Properties
IsDisposed
Specifies whether or not this event exchange has been disposed.
public bool IsDisposed { get; }
Property Value
Methods
Dispose()
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
public void Dispose()
GetPublisher(Type)
Returns an event publisher associated with the provided eventType.
[Pure]
public IEventPublisher GetPublisher(Type eventType)
Parameters
eventTypeTypeEvent type.
Returns
- IEventPublisher
Registered IEventPublisher instance.
Exceptions
- EventPublisherNotFoundException
When event publisher does not exist.
GetRegisteredEventTypes()
Returns a collection of event types of all currently registered event streams.
[Pure]
public IEnumerable<Type> GetRegisteredEventTypes()
Returns
- IEnumerable<Type>
New IEnumerable<T> instance.
GetStream(Type)
Returns an event stream associated with the provided eventType.
[Pure]
public IEventStream GetStream(Type eventType)
Parameters
eventTypeTypeEvent type.
Returns
- IEventStream
Registered IEventStream instance.
Exceptions
- EventPublisherNotFoundException
When event stream does not exist.
IsRegistered(Type)
Checks whether or not an event stream for the provided eventType exists.
[Pure]
public bool IsRegistered(Type eventType)
Parameters
eventTypeTypeEvent type to check.
Returns
- bool
true when event stream exists, otherwise false.
RegisterPublisher<TEvent>(IEventPublisher<TEvent>)
Registers the provided event publisher.
public IEventPublisher<TEvent> RegisterPublisher<TEvent>(IEventPublisher<TEvent> publisher)
Parameters
publisherIEventPublisher<TEvent>Event publisher to register.
Returns
- IEventPublisher<TEvent>
Registered event publisher.
Type Parameters
TEventEvent type.
Exceptions
- EventPublisherAlreadyExistsException
When event publisher for the given event type already exists.
TryGetPublisher(Type, out IEventPublisher)
Attempts to return an event publisher associated with the provided eventType.
public bool TryGetPublisher(Type eventType, out IEventPublisher result)
Parameters
eventTypeTypeEvent type.
resultIEventPublisherout parameter that returns the registered IEventPublisher instance.
Returns
- bool
true when event publisher exists, otherwise false.
TryGetStream(Type, out IEventStream)
Attempts to return an event stream associated with the provided eventType.
public bool TryGetStream(Type eventType, out IEventStream result)
Parameters
eventTypeTypeEvent type.
resultIEventStreamout parameter that returns the registered IEventStream instance.
Returns
- bool
true when event stream exists, otherwise false.