Table of Contents

Interface IMutableEventExchange

Namespace
LfrlAnvil.Reactive.Exchanges
Assembly
LfrlAnvil.Reactive.Core.dll

Represents a mutable collection of event publishers identifiable by their event types.

public interface IMutableEventExchange : IEventExchange, IDisposable
Inherited Members
Extension Methods

Methods

GetPublisher(Type)

Returns an event publisher associated with the provided eventType.

[Pure]
IEventPublisher GetPublisher(Type eventType)

Parameters

eventType Type

Event type.

Returns

IEventPublisher

Registered IEventPublisher instance.

Exceptions

EventPublisherNotFoundException

When event publisher does not exist.

RegisterPublisher<TEvent>(IEventPublisher<TEvent>)

Registers the provided event publisher.

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.

bool TryGetPublisher(Type eventType, out IEventPublisher result)

Parameters

eventType Type

Event type.

result IEventPublisher

out parameter that returns the registered IEventPublisher instance.

Returns

bool

true when event publisher exists, otherwise false.