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
表示一个异步停止操作的任务。