diff options
| author | ruki <[email protected]> | 2023-11-30 00:37:18 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-11-30 00:37:18 +0800 |
| commit | caac43e35206cbe4f9dedc6935c5adce9c2575f5 (patch) | |
| tree | be1c0677d966e9c9d96611051208523ebb9563b3 | |
| parent | aab8faf2ae1c7a540d7bea88880008245c37c356 (diff) | |
improve to disconnect remote cache
| -rw-r--r-- | xmake/modules/private/service/remote_cache/client.lua | 33 | ||||
| -rw-r--r-- | xmake/modules/private/service/remote_cache/server.lua | 3 |
2 files changed, 2 insertions, 34 deletions
diff --git a/xmake/modules/private/service/remote_cache/client.lua b/xmake/modules/private/service/remote_cache/client.lua index db6525491..2f61ad5ec 100644 --- a/xmake/modules/private/service/remote_cache/client.lua +++ b/xmake/modules/private/service/remote_cache/client.lua @@ -136,42 +136,13 @@ function remote_cache_client:disconnect() print("%s: has been disconnected!", self) return end - local addr = self:addr() - local port = self:port() - local sock = socket.connect(addr, port, {timeout = self:connect_timeout()}) - local session_id = self:session_id() - local errors - local ok = false - print("%s: disconnect %s:%d ..", self, addr, port) - if sock then - local stream = socket_stream(sock, {send_timeout = self:send_timeout(), recv_timeout = self:recv_timeout()}) - if stream:send_msg(message.new_disconnect(session_id, {token = self:token()})) and stream:flush() then - local msg = stream:recv_msg() - if msg then - vprint(msg:body()) - if msg:success() then - ok = true - else - errors = msg:errors() - end - end - end - else - -- server unreachable, but we still disconnect it. - wprint("%s: server unreachable!", self) - ok = true - end - if ok then - print("%s: disconnected!", self) - else - print("%s: disconnect %s:%d failed, %s", self, addr, port, errors or "unknown") - end -- update status local status = self:status() status.token = nil - status.connected = not ok + status.connected = false self:status_save() + print("%s: disconnected!", self) end -- pull cache file diff --git a/xmake/modules/private/service/remote_cache/server.lua b/xmake/modules/private/service/remote_cache/server.lua index defb0992e..d509905a9 100644 --- a/xmake/modules/private/service/remote_cache/server.lua +++ b/xmake/modules/private/service/remote_cache/server.lua @@ -84,9 +84,6 @@ function remote_cache_server:_on_handle(stream, msg) end if msg:is_connect() then session:open() - elseif msg:is_disconnect() then - session:close() - self._SESSIONS[session_id] = nil else assert(session:is_connected(), "session has not been connected!") if msg:is_push() then |
