diff options
author | anon5 <anon5clam@protonmail.com> | 2021-09-19 12:45:50 +0000 |
---|---|---|
committer | anon5 <anon5clam@protonmail.com> | 2021-09-19 12:45:50 +0000 |
commit | bcc58cb3048faa146ed0f90b330ebbe791d53b5c (patch) | |
tree | 2373852a0557ea584a62134159eb646b15619be3 /proto.go | |
parent | d6ba88b091f6c9be3b48ab0fe3f94211ee210700 (diff) | |
download | mt-bcc58cb3048faa146ed0f90b330ebbe791d53b5c.tar.xz |
Switch to Minetest 5.4.1 protocol and other changes
Diffstat (limited to 'proto.go')
-rw-r--r-- | proto.go | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -8,8 +8,6 @@ import ( "github.com/anon55555/mt/rudp" ) -const ChannelCount = rudp.ChannelCount - // A Pkt is a deserialized rudp.Pkt. type Pkt struct { Cmd @@ -29,6 +27,10 @@ func (p Peer) Send(pkt Pkt) (ack <-chan struct{}, err error) { cmdNo = pkt.Cmd.(ToCltCmd).toCltCmdNo() } + if cmdNo == 0xffff { + return nil, p.Close() + } + r, w := io.Pipe() go func() (err error) { defer w.CloseWithError(err) @@ -78,7 +80,7 @@ func (p Peer) Recv() (_ Pkt, rerr error) { extra, err := io.ReadAll(pkt) if len(extra) > 0 { - err = rudp.TrailingDataError(extra) + err = fmt.Errorf("%T: %w", cmd, rudp.TrailingDataError(extra)) } return Pkt{cmd, pkt.PktInfo}, err } |