Table of Contents

Class SynchronousImmediateMessageQueue

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

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

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

Remarks

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

Constructors

SynchronousImmediateMessageQueue(Func<JsonElement, Task>)

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

public SynchronousImmediateMessageQueue(Func<JsonElement, Task> eventHandler)

Parameters

eventHandler Func<JsonElement, Task>

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

Methods

EnqueueAsync(JsonElement, int, CancellationToken)

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

public override Task EnqueueAsync(JsonElement payload, int sequence, CancellationToken cancellationToken = default)

Parameters

payload JsonElement

网关消息的有效负载。

sequence int

网关消息的序号。

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

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