Skip to content

Commit 3fb7696

Browse files
committed
Glue mux meta with data in one frame for Datagram
1 parent e4a5344 commit 3fb7696

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

Diff for: common/mux/writer.go

+9-1
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,17 @@ func writeMetaWithFrame(writer buf.Writer, meta FrameMetadata, data buf.MultiBuf
7878
if _, err := serial.WriteUint16(frame, uint16(data.Len())); err != nil {
7979
return err
8080
}
81-
8281
mb2 := make(buf.MultiBuffer, 0, len(data)+1)
8382
mb2 = append(mb2, frame)
83+
for _, b := range data {
84+
if frame.Len() + b.Len() < buf.Size {
85+
frame.Write(b.Bytes())
86+
b.Release()
87+
b = nil
88+
} else {
89+
break;
90+
}
91+
}
8492
mb2 = append(mb2, data...)
8593
return writer.WriteMultiBuffer(mb2)
8694
}

0 commit comments

Comments
 (0)