diff options
| author | ruki <[email protected]> | 2023-11-30 00:34:53 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-11-30 00:34:53 +0800 |
| commit | da068da29b6978fa64923db3174f3817f8eaae74 (patch) | |
| tree | ca32bf4fa7072c2a3608dad9c1ac783debeb99e6 | |
| parent | e855c7258a29c2706c7970cf77435db11b445c75 (diff) | |
improve to disconnect remote build
| -rw-r--r-- | xmake/modules/private/service/remote_build/client.lua | 33 | ||||
| -rw-r--r-- | xmake/modules/private/service/remote_build/server.lua | 3 |
2 files changed, 2 insertions, 34 deletions
diff --git a/xmake/modules/private/service/remote_build/client.lua b/xmake/modules/private/service/remote_build/client.lua index aea6320c7..f4385015c 100644 --- a/xmake/modules/private/service/remote_build/client.lua +++ b/xmake/modules/private/service/remote_build/client.lua @@ -143,42 +143,13 @@ function remote_build_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 - cprint("${dim}%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 - cprint("${dim}%s: disconnected!", self) - else - cprint("${dim}%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() + cprint("${dim}%s: disconnected!", self) end -- sync server files diff --git a/xmake/modules/private/service/remote_build/server.lua b/xmake/modules/private/service/remote_build/server.lua index cdad7592e..feb819236 100644 --- a/xmake/modules/private/service/remote_build/server.lua +++ b/xmake/modules/private/service/remote_build/server.lua @@ -100,9 +100,6 @@ function remote_build_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_diff() then |
