From 062188ede707483afb16bb206279e7db5865d5e5 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sat, 15 Nov 2025 20:16:31 +0300 Subject: [PATCH] add socket:recv_async --- res/scripts/classes.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/res/scripts/classes.lua b/res/scripts/classes.lua index 950544bf..699c0fd2 100644 --- a/res/scripts/classes.lua +++ b/res/scripts/classes.lua @@ -39,6 +39,16 @@ end local Socket = {__index={ send=function(self, ...) return network.__send(self.id, ...) end, recv=function(self, ...) return network.__recv(self.id, ...) end, + recv_async=function(self, length, usetable) + while self:is_alive() do + local available = self:available() + if available >= length then + return self:recv(length, usetable) + end + coroutine.yield() + end + return self:recv(length, usetable) + end, close=function(self) return network.__close(self.id) end, available=function(self) return network.__available(self.id) or 0 end, is_alive=function(self) return network.__is_alive(self.id) end,