]> git.lizzy.rs Git - hydra-dragonfire.git/commitdiff
Rename disconnect to close
authorElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 30 May 2022 14:05:19 +0000 (16:05 +0200)
committerElias Fleckenstein <eliasfleckenstein@web.de>
Mon, 30 May 2022 14:05:19 +0000 (16:05 +0200)
auth.go
client.go
example/chat-client.lua
example/dump-traffic.lua
hydra.go

diff --git a/auth.go b/auth.go
index a58aba3fc9852540d49fa5bfb31a5edc77557aca..93af0ee4274db3ffbff35afa59b57579339557c7 100644 (file)
--- 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 {
index d065709019a3301da6178edc3563a9da0e359c7c..d27af337946edb5c5c3d21a409b9b555de76f4fb 100644 (file)
--- 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)
 
index b1bd505651b470676ae05828774910120dd6d6ec..c1828ec0d5eaf2e1514822a9df7cb3f39e573c6e 100755 (executable)
@@ -18,4 +18,4 @@ while not hydra.canceled() do
        end
 end
 
-client:disconnect()
+client:close()
index 648aa4d091df5ea71622678779c98a22f4af5c46..b3d89da1869febf2522f1b384c49d004d4aeca68 100755 (executable)
@@ -20,4 +20,4 @@ while not hydra.canceled() do
        end
 end
 
-client:disconnect()
+client:close()
index 3bc74142505f96249bdc611eef3afc930253f2cb..eb5642504593f3729abf9f039ff335075fdc078a 100644 (file)
--- 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