mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-04 11:07:40 +08:00
all: optimize
detected by go-perfguard
This commit is contained in:
parent
868828f3da
commit
9422ce4751
@ -6,7 +6,6 @@ import (
|
|||||||
"compress/zlib"
|
"compress/zlib"
|
||||||
binary2 "encoding/binary"
|
binary2 "encoding/binary"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"io"
|
|
||||||
"net"
|
"net"
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/utils"
|
"github.com/Mrs4s/MiraiGo/utils"
|
||||||
@ -34,7 +33,7 @@ func ZlibUncompress(src []byte) []byte {
|
|||||||
var out bytes.Buffer
|
var out bytes.Buffer
|
||||||
r, _ := zlib.NewReader(b)
|
r, _ := zlib.NewReader(b)
|
||||||
defer r.Close()
|
defer r.Close()
|
||||||
io.Copy(&out, r)
|
_, _ = out.ReadFrom(r)
|
||||||
return out.Bytes()
|
return out.Bytes()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,7 +41,8 @@ func ZlibCompress(data []byte) []byte {
|
|||||||
zw := acquireZlibWriter()
|
zw := acquireZlibWriter()
|
||||||
_, _ = zw.w.Write(data)
|
_, _ = zw.w.Write(data)
|
||||||
_ = zw.w.Close()
|
_ = zw.w.Close()
|
||||||
ret := append([]byte(nil), zw.buf.Bytes()...)
|
ret := make([]byte, len(zw.buf.Bytes()))
|
||||||
|
copy(ret, zw.buf.Bytes())
|
||||||
releaseZlibWriter(zw)
|
releaseZlibWriter(zw)
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
@ -51,7 +51,8 @@ func GZipCompress(data []byte) []byte {
|
|||||||
gw := AcquireGzipWriter()
|
gw := AcquireGzipWriter()
|
||||||
_, _ = gw.Write(data)
|
_, _ = gw.Write(data)
|
||||||
_ = gw.Close()
|
_ = gw.Close()
|
||||||
ret := append([]byte(nil), gw.buf.Bytes()...)
|
ret := make([]byte, len(gw.buf.Bytes()))
|
||||||
|
copy(ret, gw.buf.Bytes())
|
||||||
ReleaseGzipWriter(gw)
|
ReleaseGzipWriter(gw)
|
||||||
return ret
|
return ret
|
||||||
}
|
}
|
||||||
@ -61,7 +62,7 @@ func GZipUncompress(src []byte) []byte {
|
|||||||
var out bytes.Buffer
|
var out bytes.Buffer
|
||||||
r, _ := gzip.NewReader(b)
|
r, _ := gzip.NewReader(b)
|
||||||
defer r.Close()
|
defer r.Close()
|
||||||
_, _ = io.Copy(&out, r)
|
_, _ = out.ReadFrom(r)
|
||||||
return out.Bytes()
|
return out.Bytes()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,7 +12,8 @@ type Writer bytes.Buffer
|
|||||||
func NewWriterF(f func(writer *Writer)) []byte {
|
func NewWriterF(f func(writer *Writer)) []byte {
|
||||||
w := SelectWriter()
|
w := SelectWriter()
|
||||||
f(w)
|
f(w)
|
||||||
b := append([]byte(nil), w.Bytes()...)
|
b := make([]byte, len(w.Bytes()))
|
||||||
|
copy(b, w.Bytes())
|
||||||
w.put()
|
w.put()
|
||||||
return b
|
return b
|
||||||
}
|
}
|
||||||
|
@ -84,7 +84,8 @@ func (c *Codec) Marshal(m *Message) []byte {
|
|||||||
}
|
}
|
||||||
w.WriteByte(0x03)
|
w.WriteByte(0x03)
|
||||||
|
|
||||||
buf := append([]byte(nil), w.Bytes()...)
|
buf := make([]byte, len(w.Bytes()))
|
||||||
|
copy(buf, w.Bytes())
|
||||||
goBinary.BigEndian.PutUint16(buf[1:3], uint16(len(buf)))
|
goBinary.BigEndian.PutUint16(buf[1:3], uint16(len(buf)))
|
||||||
return buf
|
return buf
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
package message
|
package message
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
|
||||||
"crypto/md5"
|
"crypto/md5"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/Mrs4s/MiraiGo/binary"
|
"github.com/Mrs4s/MiraiGo/binary"
|
||||||
@ -79,7 +79,7 @@ func (f *ForwardMessage) AddNode(node *ForwardNode) *ForwardMessage {
|
|||||||
func (f *ForwardMessage) Length() int { return len(f.Nodes) }
|
func (f *ForwardMessage) Length() int { return len(f.Nodes) }
|
||||||
|
|
||||||
func (f *ForwardMessage) Brief() string {
|
func (f *ForwardMessage) Brief() string {
|
||||||
var brief bytes.Buffer
|
var brief strings.Builder
|
||||||
for _, n := range f.Nodes {
|
for _, n := range f.Nodes {
|
||||||
brief.WriteString(ToReadableString(n.Message))
|
brief.WriteString(ToReadableString(n.Message))
|
||||||
if brief.Len() >= 27 {
|
if brief.Len() >= 27 {
|
||||||
@ -90,7 +90,7 @@ func (f *ForwardMessage) Brief() string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (f *ForwardMessage) Preview() string {
|
func (f *ForwardMessage) Preview() string {
|
||||||
var pv bytes.Buffer
|
var pv strings.Builder
|
||||||
for i, node := range f.Nodes {
|
for i, node := range f.Nodes {
|
||||||
if i >= 4 {
|
if i >= 4 {
|
||||||
break
|
break
|
||||||
|
@ -20,7 +20,7 @@ func ComputeMd5AndLength(r io.Reader) ([]byte, int64) {
|
|||||||
|
|
||||||
func (r *multiReadSeeker) Read(p []byte) (int, error) {
|
func (r *multiReadSeeker) Read(p []byte) (int, error) {
|
||||||
if r.multiReader == nil {
|
if r.multiReader == nil {
|
||||||
var readers []io.Reader
|
readers := make([]io.Reader, len(r.readers))
|
||||||
for i := range r.readers {
|
for i := range r.readers {
|
||||||
_, _ = r.readers[i].Seek(0, io.SeekStart)
|
_, _ = r.readers[i].Seek(0, io.SeekStart)
|
||||||
readers = append(readers, r.readers[i])
|
readers = append(readers, r.readers[i])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user