Table of Contents

Class SynchronousImmediateMessageQueue

Namespace
HeyBox.Net.Queue.SynchronousImmediate
Assembly
HeyBox.Net.Core.dll

表示一个同步处理消息队列。

public class SynchronousImmediateMessageQueue : BaseMessageQueue, IMessageQueue
Inheritance
SynchronousImmediateMessageQueue
Implements
Inherited Members

Remarks

此消息队列会在接收到网关事件后调用 EnqueueAsync(ulong, string, JsonElement, DateTimeOffset, CancellationToken) 时立即使用构造函数中传入的 eventHandler 委托同步进行处理,处理完成后,该方法才会返回。

Constructors

SynchronousImmediateMessageQueue(Func<ulong, string, JsonElement, Task>)

初始化一个 BaseMessageQueue 类的新实例。

public SynchronousImmediateMessageQueue(Func<ulong, string, JsonElement, Task> eventHandler)

Parameters

eventHandler Func<ulong, string, JsonElement, Task>

用于处理消息的事件处理程序。

Methods

EnqueueAsync(ulong, string, JsonElement, DateTimeOffset, CancellationToken)

将网关消息添加到队列中。

public override Task EnqueueAsync(ulong sequence, string type, JsonElement payload, DateTimeOffset timestamp, CancellationToken cancellationToken = default)

Parameters

sequence ulong

网关消息的序号。

type string

网关消息的类型。

payload JsonElement

网关消息的有效负载。

timestamp DateTimeOffset

网关消息的时间戳。

cancellationToken CancellationToken

用于取消该操作的取消令牌。

Returns

Task

表示一个异步入队操作的任务。

StartAsync(CancellationToken)

启动消息队列的处理。

public override Task StartAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

用于取消该操作的取消令牌。

Returns

Task

表示一个异步启动操作的任务。

StopAsync(CancellationToken)

停止消息队列的处理。

public override Task StopAsync(CancellationToken cancellationToken = default)

Parameters

cancellationToken CancellationToken

用于取消该操作的取消令牌。

Returns

Task

表示一个异步停止操作的任务。