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
eventType
TypeEvent 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
eventType
TypeEvent 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
eventType
TypeEvent 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
publisher
IEventPublisher<TEvent>Event publisher to register.
Returns
- IEventPublisher<TEvent>
Registered event publisher.
Type Parameters
TEvent
Event 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
eventType
TypeEvent type.
result
IEventPublisherout 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
eventType
TypeEvent type.
result
IEventStreamout parameter that returns the registered IEventStream instance.
Returns
- bool
true when event stream exists, otherwise false.