From bcc58cb3048faa146ed0f90b330ebbe791d53b5c Mon Sep 17 00:00:00 2001 From: anon5 Date: Sun, 19 Sep 2021 12:45:50 +0000 Subject: Switch to Minetest 5.4.1 protocol and other changes --- proto.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'proto.go') diff --git a/proto.go b/proto.go index b859a39..30a94da 100644 --- a/proto.go +++ b/proto.go @@ -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 } -- cgit v1.2.3