mirror of
https://github.com/ScuroNeko/mtg.git
synced 2026-08-31 13:04:02 +03:00
Fix a bug with crashing desktop telegram
This commit is contained in:
@@ -11,27 +11,13 @@ var (
|
|||||||
return &bytes.Buffer{}
|
return &bytes.Buffer{}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
poolProxyBytesBuffer = sync.Pool{
|
|
||||||
New: func() interface{} {
|
|
||||||
return &bytes.Buffer{}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func acquireClientBytesBuffer() *bytes.Buffer {
|
func acquireClientBytesBuffer() *bytes.Buffer {
|
||||||
return poolClientBytesBuffer.Get().(*bytes.Buffer)
|
return poolClientBytesBuffer.Get().(*bytes.Buffer)
|
||||||
}
|
}
|
||||||
|
|
||||||
func acquireProxyBytesBuffer() *bytes.Buffer {
|
|
||||||
return poolProxyBytesBuffer.Get().(*bytes.Buffer)
|
|
||||||
}
|
|
||||||
|
|
||||||
func releaseClientBytesBuffer(buf *bytes.Buffer) {
|
func releaseClientBytesBuffer(buf *bytes.Buffer) {
|
||||||
buf.Reset()
|
buf.Reset()
|
||||||
poolClientBytesBuffer.Put(buf)
|
poolClientBytesBuffer.Put(buf)
|
||||||
}
|
}
|
||||||
|
|
||||||
func releaseProxyBytesBuffer(buf *bytes.Buffer) {
|
|
||||||
buf.Reset()
|
|
||||||
poolProxyBytesBuffer.Put(buf)
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -22,10 +22,9 @@ type wrapperProxy struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (w *wrapperProxy) Write(packet conntypes.Packet, acks *conntypes.ConnectionAcks) error {
|
func (w *wrapperProxy) Write(packet conntypes.Packet, acks *conntypes.ConnectionAcks) error {
|
||||||
buf := acquireProxyBytesBuffer()
|
buf := bytes.Buffer{}
|
||||||
defer releaseProxyBytesBuffer(buf)
|
|
||||||
|
|
||||||
flags := w.flags
|
flags := w.flags
|
||||||
|
|
||||||
if acks.Quick {
|
if acks.Quick {
|
||||||
flags |= rpc.ProxyRequestFlagsQuickAck
|
flags |= rpc.ProxyRequestFlagsQuickAck
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user