Table of Contents

Interface IReadOnlyEventQueue<TEvent, TPoint, TPointDelta>

Namespace
LfrlAnvil.Reactive.Queues
Assembly
LfrlAnvil.Reactive.Queues.dll

Represents a generic read-only event queue.

public interface IReadOnlyEventQueue<TEvent, TPoint, TPointDelta> : IReadOnlyCollection<EnqueuedEvent<TEvent, TPoint, TPointDelta>>, IEnumerable<EnqueuedEvent<TEvent, TPoint, TPointDelta>>, IEnumerable

Type Parameters

TEvent

Event type.

TPoint

Queue point type.

TPointDelta

Queue point delta type.

Inherited Members

Properties

Comparer

Queue point comparer.

IComparer<TPoint> Comparer { get; }

Property Value

IComparer<TPoint>

CurrentPoint

Specifies the current point that this queue is in.

TPoint CurrentPoint { get; }

Property Value

TPoint

StartPoint

Specifies the starting point of this queue.

TPoint StartPoint { get; }

Property Value

TPoint

Methods

GetEvents(TPoint)

Returns information about all currently registered events in this queue, from CurrentPoint to the specified endPoint.

[Pure]
IEnumerable<EnqueuedEvent<TEvent, TPoint, TPointDelta>> GetEvents(TPoint endPoint)

Parameters

endPoint TPoint

Largest event point to include in the result.

Returns

IEnumerable<EnqueuedEvent<TEvent, TPoint, TPointDelta>>

New IEnumerable<T> instance.

GetNext()

Attempts to return information about the next event to happen.

[Pure]
EnqueuedEvent<TEvent, TPoint, TPointDelta>? GetNext()

Returns

EnqueuedEvent<TEvent, TPoint, TPointDelta>?

EnqueuedEvent<TEvent, TPoint, TPointDelta> instance or null when this queue is empty.