diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-05-29 23:09:53 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2022-05-29 23:09:53 +0200 |
commit | e8c35eb2780cf17890f2905f44d1a1d170c40b37 (patch) | |
tree | d5e80c11f6ca1f46eb1ae3aa88a3e2c8e2507597 /client.go | |
parent | 535595e9823f020b8f02ae657f259966814d1906 (diff) | |
download | hydra-dragonfire-e8c35eb2780cf17890f2905f44d1a1d170c40b37.tar.xz |
Implement sending of packets
Diffstat (limited to 'client.go')
-rw-r--r-- | client.go | 18 |
1 files changed, 12 insertions, 6 deletions
@@ -3,6 +3,7 @@ package main import ( "errors" "github.com/anon55555/mt" + "github.com/dragonfireclient/hydra-dragonfire/fromlua" "github.com/dragonfireclient/hydra-dragonfire/tolua" "github.com/yuin/gopher-lua" "net" @@ -46,6 +47,7 @@ var clientFuncs = map[string]lua.LGFunction{ "subscribe": l_client_subscribe, "unsubscribe": l_client_unsubscribe, "wildcard": l_client_wildcard, + "send": l_client_send, } func getClient(l *lua.LState) *Client { @@ -254,20 +256,24 @@ func l_client_wildcard(l *lua.LState) int { return 0 } -/* - func l_client_send(l *lua.LState) int { client := getClient(l) - pkt := fromlua.Pkt(l.CheckTable(2)) + cmd := fromlua.Cmd(l) + doAck := l.ToBool(4) client.mu.Lock() defer client.mu.Unlock() if client.state == csConnected { - client.conn.Send(pkt) + ack, err := client.conn.SendCmd(cmd) + if err != nil { + panic(err) + } + + if doAck && !cmd.DefaultPktInfo().Unrel { + <-ack + } } return 0 } - -*/ |