Table of Contents

Interface IMessageQueue

Namespace
StockSharp.Messages
Assembly
StockSharp.Messages.dll

Describes a message queue with asynchronous semantics.

public interface IMessageQueue : ICloneable<IMessageQueue>, ICloneable
Inherited Members
Extension Methods

Properties

Count

Gets the current number of messages buffered in the queue.

int Count { get; }

Property Value

int

IsClosed

Gets a value indicating whether the queue is closed.

bool IsClosed { get; }

Property Value

bool

Methods

Clear()

Removes all messages from the queue.

void Clear()

Close()

Closes the queue and prevents new messages from being enqueued.

void Close()

DequeueAsync(CancellationToken)

Removes and returns the next message from the queue asynchronously.

ValueTask<Message> DequeueAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Cancellation token.

Returns

ValueTask<Message>

The next message in the queue.

Enqueue(Message, CancellationToken)

Enqueues the specified message.

ValueTask Enqueue(Message message, CancellationToken cancellationToken)

Parameters

message Message

The message to enqueue.

cancellationToken CancellationToken

Cancellation token.

Returns

ValueTask

Open()

Opens the queue and allows enqueue and dequeue operations.

void Open()

ReadAllAsync(CancellationToken)

Returns an async enumerable that yields messages from the queue.

IAsyncEnumerable<Message> ReadAllAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Cancellation token.

Returns

IAsyncEnumerable<Message>

Async enumerable of messages.