From 1352a5e8f46b4aeed0eafaf60b5e72ad2f70ba48 Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Mon, 30 May 2022 16:05:19 +0200 Subject: [PATCH] Rename disconnect to close --- auth.go | 2 +- client.go | 20 ++++++++++++-------- example/chat-client.lua | 2 +- example/dump-traffic.lua | 2 +- hydra.go | 14 +++++++------- 5 files changed, 22 insertions(+), 18 deletions(-) diff --git a/auth.go b/auth.go index a58aba3..93af0ee 100644 --- a/auth.go +++ b/auth.go @@ -82,7 +82,7 @@ func (auth *Auth) connect() { func (auth *Auth) fail(err string) { auth.err = err auth.state = asError - auth.client.disconnect() + auth.client.closeConn() } func (auth *Auth) checkState(state authState, pkt *mt.Pkt) bool { diff --git a/client.go b/client.go index d065709..d27af33 100644 --- a/client.go +++ b/client.go @@ -41,7 +41,7 @@ var clientFuncs = map[string]lua.LGFunction{ "state": l_client_state, "connect": l_client_connect, "poll": l_client_poll, - "disconnect": l_client_disconnect, + "close": l_client_close, "enable": l_client_enable, "subscribe": l_client_subscribe, "unsubscribe": l_client_unsubscribe, @@ -76,7 +76,7 @@ func getStrings(l *lua.LState) []string { return strs } -func (client *Client) disconnect() { +func (client *Client) closeConn() { client.mu.Lock() defer client.mu.Unlock() @@ -162,16 +162,15 @@ func l_client_connect(l *lua.LState) int { if err == nil { client.mu.Lock() - for _, component := range client.components { component.process(&pkt) } + _, subscribed := client.subscribed[string(convert.PushPktType(&pkt))] + client.mu.Unlock() - if _, exists := client.subscribed[string(convert.PushPktType(&pkt))]; exists || client.wildcard { + if subscribed || client.wildcard { client.queue <- &pkt } - - client.mu.Unlock() } else if errors.Is(err, net.ErrClosed) { close(client.queue) return @@ -197,9 +196,9 @@ func l_client_poll(l *lua.LState) int { return 2 } -func l_client_disconnect(l *lua.LState) int { +func l_client_close(l *lua.LState) int { client := getClient(l) - client.disconnect() + client.closeConn() return 0 } @@ -257,6 +256,11 @@ func l_client_wildcard(l *lua.LState) int { func l_client_send(l *lua.LState) int { client := getClient(l) + + if client.state != csConnected { + panic("not connected") + } + cmd := convert.ReadCmd(l) doAck := l.ToBool(4) diff --git a/example/chat-client.lua b/example/chat-client.lua index b1bd505..c1828ec 100755 --- a/example/chat-client.lua +++ b/example/chat-client.lua @@ -18,4 +18,4 @@ while not hydra.canceled() do end end -client:disconnect() +client:close() diff --git a/example/dump-traffic.lua b/example/dump-traffic.lua index 648aa4d..b3d89da 100755 --- a/example/dump-traffic.lua +++ b/example/dump-traffic.lua @@ -20,4 +20,4 @@ while not hydra.canceled() do end end -client:disconnect() +client:close() diff --git a/hydra.go b/hydra.go index 3bc7414..eb56425 100644 --- a/hydra.go +++ b/hydra.go @@ -36,11 +36,11 @@ var builtinFiles = []string{ } var hydraFuncs = map[string]lua.LGFunction{ - "client": l_client, - "dtime": l_dtime, - "canceled": l_canceled, - "poll": l_poll, - "disconnect": l_disconnect, + "client": l_client, + "dtime": l_dtime, + "canceled": l_canceled, + "poll": l_poll, + "close": l_close, } func signalChannel() chan os.Signal { @@ -71,9 +71,9 @@ func l_poll(l *lua.LState) int { return 3 } -func l_disconnect(l *lua.LState) int { +func l_close(l *lua.LState) int { for _, client := range getClients(l) { - client.disconnect() + client.closeConn() } return 0 -- 2.44.0