fix: incorrect UDP frag sendErr handling

This commit is contained in:
Toby 2022-02-28 14:26:52 -08:00
parent ecf84ee07e
commit d4117504eb

View File

@ -343,9 +343,9 @@ func (c *serverClient) handleUDP(stream quic.Stream) {
} }
// try no frag first // try no frag first
_ = struc.Pack(&msgBuf, &msg) _ = struc.Pack(&msgBuf, &msg)
err = c.CS.SendMessage(msgBuf.Bytes()) sendErr := c.CS.SendMessage(msgBuf.Bytes())
if err != nil { if sendErr != nil {
if errSize, ok := err.(quic.ErrMessageToLarge); ok { if errSize, ok := sendErr.(quic.ErrMessageToLarge); ok {
// need to frag // need to frag
msg.MsgID = uint16(rand.Intn(0xFFFF)) + 1 // msgID must be > 0 when fragCount > 1 msg.MsgID = uint16(rand.Intn(0xFFFF)) + 1 // msgID must be > 0 when fragCount > 1
fragMsgs := fragUDPMessage(msg, int(errSize)) fragMsgs := fragUDPMessage(msg, int(errSize))