From 2482d2e7f0dcfd3bea2be2474102dcd7b10d6da5 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Sat, 29 Jul 2023 16:46:10 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20server.PushAsyncMessage=20=E6=B3=A8?= =?UTF-8?q?=E6=84=8F=E4=BA=8B=E9=A1=B9=E8=A1=A5=E5=85=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/message.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/server/message.go b/server/message.go index 6bac3ae..4dac411 100644 --- a/server/message.go +++ b/server/message.go @@ -143,6 +143,9 @@ func PushTickerMessage(srv *Server, caller func(), mark ...any) { } // PushAsyncMessage 向特定服务器中推送 MessageTypeAsync 消息 +// - 异步消息将在服务器的异步消息队列中进行处理,处理完成 caller 的阻塞操作后,将会通过系统消息执行 callback 函数 +// - callback 函数将在异步消息处理完成后进行调用,无论过程是否产生 err,都将被执行,允许为 nil +// - 需要注意的是,为了避免并发问题,caller 函数请仅处理阻塞操作,其他操作应该在 callback 函数中进行 func PushAsyncMessage(srv *Server, caller func() error, callback func(err error), mark ...any) { msg := srv.messagePool.Get() msg.t = MessageTypeAsync