Table of Contents

Class EventSource

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

Creates instances of IEventSource<TEvent> type.

public static class EventSource
Inheritance
EventSource
Inherited Members

Methods

Combine<TEvent>(params IEventStream<TEvent>[])

Creates a new CombineEventSource<TEvent> instance.

[Pure]
public static CombineEventSource<TEvent> Combine<TEvent>(params IEventStream<TEvent>[] streams)

Parameters

streams IEventStream<TEvent>[]

Collection of event streams.

Returns

CombineEventSource<TEvent>

New CombineEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

Combine<TEvent>(IEnumerable<IEventStream<TEvent>>)

Creates a new CombineEventSource<TEvent> instance.

[Pure]
public static CombineEventSource<TEvent> Combine<TEvent>(IEnumerable<IEventStream<TEvent>> streams)

Parameters

streams IEnumerable<IEventStream<TEvent>>

Collection of event streams.

Returns

CombineEventSource<TEvent>

New CombineEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

Concat<TEvent>(params IEventStream<TEvent>[])

Creates a new MergeEventSource<TEvent> instance with maximum concurrency equal to 1.

[Pure]
public static MergeEventSource<TEvent> Concat<TEvent>(params IEventStream<TEvent>[] streams)

Parameters

streams IEventStream<TEvent>[]

Collection of event streams.

Returns

MergeEventSource<TEvent>

New MergeEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

Concat<TEvent>(IEnumerable<IEventStream<TEvent>>)

Creates a new MergeEventSource<TEvent> instance with maximum concurrency equal to 1.

[Pure]
public static MergeEventSource<TEvent> Concat<TEvent>(IEnumerable<IEventStream<TEvent>> streams)

Parameters

streams IEnumerable<IEventStream<TEvent>>

Collection of event streams.

Returns

MergeEventSource<TEvent>

New MergeEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

ConcurrentFromEvent<TEvent>(Action<EventHandler<TEvent>>, Action<EventHandler<TEvent>>)

Creates a new ConcurrentEventHandlerSource<TEvent> instance.

[Pure]
public static ConcurrentEventHandlerSource<TEvent> ConcurrentFromEvent<TEvent>(Action<EventHandler<TEvent>> setup, Action<EventHandler<TEvent>> teardown)

Parameters

setup Action<EventHandler<TEvent>>

Delegate that handles initialization of this event source.

teardown Action<EventHandler<TEvent>>

Delegate that handles disposal of this event source.

Returns

ConcurrentEventHandlerSource<TEvent>

New ConcurrentEventHandlerSource<TEvent> instance.

Type Parameters

TEvent

Event type.

Disposed<TEvent>()

Returns an IEventSource<TEvent> instance that is disposed.

[Pure]
public static IEventSource<TEvent> Disposed<TEvent>()

Returns

IEventSource<TEvent>

Disposed IEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

FromEvent<TEvent>(Action<EventHandler<TEvent>>, Action<EventHandler<TEvent>>)

Creates a new EventHandlerSource<TEvent> instance.

[Pure]
public static EventHandlerSource<TEvent> FromEvent<TEvent>(Action<EventHandler<TEvent>> setup, Action<EventHandler<TEvent>> teardown)

Parameters

setup Action<EventHandler<TEvent>>

Delegate that handles initialization of this event source.

teardown Action<EventHandler<TEvent>>

Delegate that handles disposal of this event source.

Returns

EventHandlerSource<TEvent>

New EventHandlerSource<TEvent> instance.

Type Parameters

TEvent

Event type.

FromTask<TEvent>(Func<CancellationToken, Task<TEvent>>, TaskSchedulerCapture)

Creates a new TaskEventSource<TEvent> instance.

[Pure]
public static TaskEventSource<TEvent> FromTask<TEvent>(Func<CancellationToken, Task<TEvent>> taskFactory, TaskSchedulerCapture schedulerCapture = default)

Parameters

taskFactory Func<CancellationToken, Task<TEvent>>

Task<TResult> factory.

schedulerCapture TaskSchedulerCapture

Optional TaskSchedulerCapture instance.

Returns

TaskEventSource<TEvent>

New TaskEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

From<TEvent>(IEnumerable<TEvent>)

Creates a new EnumerableEventSource<TEvent> instance.

[Pure]
public static EnumerableEventSource<TEvent> From<TEvent>(IEnumerable<TEvent> values)

Parameters

values IEnumerable<TEvent>

Collection of events.

Returns

EnumerableEventSource<TEvent>

New EnumerableEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

From<TEvent>(params TEvent[])

Creates a new EnumerableEventSource<TEvent> instance.

[Pure]
public static EnumerableEventSource<TEvent> From<TEvent>(params TEvent[] values)

Parameters

values TEvent[]

Collection of events.

Returns

EnumerableEventSource<TEvent>

New EnumerableEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

Merge<TEvent>(params IEventStream<TEvent>[])

Creates a new MergeEventSource<TEvent> instance with maximum concurrency equal to MaxValue.

[Pure]
public static MergeEventSource<TEvent> Merge<TEvent>(params IEventStream<TEvent>[] streams)

Parameters

streams IEventStream<TEvent>[]

Collection of event streams.

Returns

MergeEventSource<TEvent>

New MergeEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

Merge<TEvent>(IEnumerable<IEventStream<TEvent>>, int)

Creates a new MergeEventSource<TEvent> instance.

[Pure]
public static MergeEventSource<TEvent> Merge<TEvent>(IEnumerable<IEventStream<TEvent>> streams, int maxConcurrency = 2147483647)

Parameters

streams IEnumerable<IEventStream<TEvent>>

Collection of event streams.

maxConcurrency int

Maximum number of concurrent active inner event streams. Equal to MaxValue by default.

Returns

MergeEventSource<TEvent>

New MergeEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

WhenAll<TEvent>(params IEventStream<TEvent>[])

Creates a new WhenAllEventSource<TEvent> instance.

[Pure]
public static WhenAllEventSource<TEvent> WhenAll<TEvent>(params IEventStream<TEvent>[] streams)

Parameters

streams IEventStream<TEvent>[]

Collection of event streams.

Returns

WhenAllEventSource<TEvent>

New WhenAllEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

WhenAll<TEvent>(IEnumerable<IEventStream<TEvent>>)

Creates a new WhenAllEventSource<TEvent> instance.

[Pure]
public static WhenAllEventSource<TEvent> WhenAll<TEvent>(IEnumerable<IEventStream<TEvent>> streams)

Parameters

streams IEnumerable<IEventStream<TEvent>>

Collection of event streams.

Returns

WhenAllEventSource<TEvent>

New WhenAllEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

WhenAny<TEvent>(params IEventStream<TEvent>[])

Creates a new WhenAnyEventSource<TEvent> instance.

[Pure]
public static WhenAnyEventSource<TEvent> WhenAny<TEvent>(params IEventStream<TEvent>[] streams)

Parameters

streams IEventStream<TEvent>[]

Collection of event streams.

Returns

WhenAnyEventSource<TEvent>

New WhenAnyEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.

WhenAny<TEvent>(IEnumerable<IEventStream<TEvent>>)

Creates a new WhenAnyEventSource<TEvent> instance.

[Pure]
public static WhenAnyEventSource<TEvent> WhenAny<TEvent>(IEnumerable<IEventStream<TEvent>> streams)

Parameters

streams IEnumerable<IEventStream<TEvent>>

Collection of event streams.

Returns

WhenAnyEventSource<TEvent>

New WhenAnyEventSource<TEvent> instance.

Type Parameters

TEvent

Event type.