This commit is contained in:
Tnze
2021-03-14 13:35:09 +08:00
parent 7f91383a1d
commit 91e7ffa464

View File

@ -44,18 +44,20 @@ func (p *Packet) Pack(w io.Writer, threshold int) error {
panic(err)
}
if threshold > 0 { //是否启用了压缩
Len := content.Len()
var VarLen bytes.Buffer
if _, err := VarInt(Len).WriteTo(&VarLen); err != nil {
panic(err)
rawLen := content.Len()
uncompressedLen := VarInt(rawLen)
if rawLen > threshold { //是否需要压缩
compress(&content)
} else {
uncompressedLen = 0
}
if _, err := VarInt(VarLen.Len() + Len).WriteTo(w); err != nil {
uncompressedLenLen, _ := uncompressedLen.WriteTo(io.Discard)
if _, err := VarInt(uncompressedLenLen + int64(rawLen)).WriteTo(w); err != nil {
return err
}
if Len > threshold { //是否需要压缩
compress(&content)
}
if _, err := VarLen.WriteTo(w); err != nil {
if _, err := uncompressedLen.WriteTo(w); err != nil {
return err
}
if _, err := content.WriteTo(w); err != nil {