Use pool for frames

This commit is contained in:
9seconds
2018-06-20 09:19:27 +03:00
parent 9ddf3e147c
commit c76d8307c2
8 changed files with 66 additions and 30 deletions
+3 -1
View File
@@ -43,7 +43,9 @@ func (t *directTelegram) Dial(dcIdx int16) (io.ReadWriteCloser, error) {
func (t *directTelegram) Init(conn io.ReadWriteCloser) (io.ReadWriteCloser, error) {
obfs2, frame := obfuscated2.MakeTelegramObfuscated2Frame()
if n, err := conn.Write(frame); err != nil || n != len(frame) {
defer obfuscated2.ReturnFrame(frame)
if n, err := conn.Write(*frame); err != nil || n != len(*frame) {
return nil, errors.Annotate(err, "Cannot write hadnshake frame")
}