summaryrefslogtreecommitdiff
path: root/xmake/modules/private/service/server.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2022-07-05 22:40:05 +0800
committerruki <[email protected]>2022-07-05 22:40:05 +0800
commit61d5d3faef3360303c862a4db2e7101e17ac6aac (patch)
tree494898ac8eea80f9b83be0723379bd40a1912ffe /xmake/modules/private/service/server.lua
parent4ee209c6235385a6e2b4182cab870f14067a50d1 (diff)
add timeout
Diffstat (limited to 'xmake/modules/private/service/server.lua')
-rw-r--r--xmake/modules/private/service/server.lua10
1 files changed, 9 insertions, 1 deletions
diff --git a/xmake/modules/private/service/server.lua b/xmake/modules/private/service/server.lua
index 204d6e70e..4b40373ff 100644
--- a/xmake/modules/private/service/server.lua
+++ b/xmake/modules/private/service/server.lua
@@ -43,6 +43,9 @@ function server:init(daemon)
-- init known hosts
local known_hosts = config.get("known_hosts")
self:known_hosts_set(known_hosts)
+
+ -- init timeout
+ self._TIMEOUT = config.get("timeout") or -1
end
-- is daemon?
@@ -78,6 +81,11 @@ function server:port()
return self._PORT
end
+-- get timeout
+function server:timeout()
+ return self._TIMEOUT
+end
+
-- get tokens
function server:tokens()
return self._TOKENS
@@ -181,7 +189,7 @@ end
-- handle session
function server:_handle_session(sock)
print("%s: %s: session connected", self, sock)
- local stream = socket_stream(sock)
+ local stream = socket_stream(sock, {timeout = self:timeout()})
while true do
local msg = stream:recv_object()
if msg then