Table of Contents

Class ReorderableEventQueue<TEvent>

Namespace
LfrlAnvil.Reactive.Chrono
Assembly
LfrlAnvil.Reactive.Chrono.dll

Represents a generic event queue that allows to modify registered events with Timestamp point and Duration delta.

public class ReorderableEventQueue<TEvent> : ReorderableEventQueueBase<TEvent, Timestamp, Duration>, IMutableReorderableEventQueue<TEvent, Timestamp, Duration>, IMutableEventQueue<TEvent, Timestamp, Duration>, IReorderableEventQueue<TEvent, Timestamp, Duration>, IEventQueue<TEvent, Timestamp, Duration>, IReadOnlyReorderableEventQueue<TEvent, Timestamp, Duration>, IReadOnlyEventQueue<TEvent, Timestamp, Duration>, IReadOnlyCollection<EnqueuedEvent<TEvent, Timestamp, Duration>>, IEnumerable<EnqueuedEvent<TEvent, Timestamp, Duration>>, IEnumerable where TEvent : notnull

Type Parameters

TEvent

Event type.

Inheritance
ReorderableEventQueue<TEvent>
Implements
Inherited Members

Constructors

ReorderableEventQueue(Timestamp)

Creates a new ReorderableEventQueue<TEvent> instance with Default event comparer.

public ReorderableEventQueue(Timestamp startPoint)

Parameters

startPoint Timestamp

Specifies the starting Timestamp of this queue.

ReorderableEventQueue(Timestamp, IEqualityComparer<TEvent>)

Creates a new ReorderableEventQueue<TEvent> instance.

public ReorderableEventQueue(Timestamp startPoint, IEqualityComparer<TEvent> eventComparer)

Parameters

startPoint Timestamp

Specifies the starting Timestamp of this queue.

eventComparer IEqualityComparer<TEvent>

Event equality comparer.

Methods

Add(Duration, Duration)

Adds a and b together in order to create a new point delta.

[Pure]
protected override sealed Duration Add(Duration a, Duration b)

Parameters

a Duration

First point delta.

b Duration

Second point delta.

Returns

Duration

New point delta.

AddDelta(Timestamp, Duration)

Adds delta to the specified point in order to create a new point.

[Pure]
protected override sealed Timestamp AddDelta(Timestamp point, Duration delta)

Parameters

point Timestamp

Original point.

delta Duration

Point delta to add to point.

Returns

Timestamp

New point.

Subtract(Duration, Duration)

Subtracts b from a in order to create a new point delta.

[Pure]
protected override sealed Duration Subtract(Duration a, Duration b)

Parameters

a Duration

First point delta.

b Duration

Second point delta.

Returns

Duration

New point delta.

SubtractDelta(Timestamp, Duration)

Subtracts delta from the specified point in order to create a new point.

[Pure]
protected override sealed Timestamp SubtractDelta(Timestamp point, Duration delta)

Parameters

point Timestamp

Original point.

delta Duration

Point delta to subtract from point.

Returns

Timestamp

New point.