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) panic(err)
} }
if threshold > 0 { //是否启用了压缩 if threshold > 0 { //是否启用了压缩
Len := content.Len() rawLen := content.Len()
var VarLen bytes.Buffer uncompressedLen := VarInt(rawLen)
if _, err := VarInt(Len).WriteTo(&VarLen); err != nil { if rawLen > threshold { //是否需要压缩
panic(err) 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 return err
} }
if Len > threshold { //是否需要压缩
compress(&content) if _, err := uncompressedLen.WriteTo(w); err != nil {
}
if _, err := VarLen.WriteTo(w); err != nil {
return err return err
} }
if _, err := content.WriteTo(w); err != nil { if _, err := content.WriteTo(w); err != nil {