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
_ = struc.Pack(&msgBuf, &msg)
err = c.CS.SendMessage(msgBuf.Bytes())
if err != nil {
if errSize, ok := err.(quic.ErrMessageToLarge); ok {
sendErr := c.CS.SendMessage(msgBuf.Bytes())
if sendErr != nil {
if errSize, ok := sendErr.(quic.ErrMessageToLarge); ok {
// need to frag
msg.MsgID = uint16(rand.Intn(0xFFFF)) + 1 // msgID must be > 0 when fragCount > 1
fragMsgs := fragUDPMessage(msg, int(errSize))