Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram. If you use v1.0 or upgrade broke you proxy, please read the chapter Version 2
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

12345678910111213141516171819202122232425262728293031
  1. package relay
  2. import (
  3. "bufio"
  4. "io"
  5. "net"
  6. "sync"
  7. )
  8. var syncPairPool = sync.Pool{
  9. New: func() interface{} {
  10. return &syncPair{
  11. writer: bufio.NewWriterSize(nil, writerBufferSize),
  12. copyBuf: make([]byte, copyBufferSize),
  13. }
  14. },
  15. }
  16. func acquireSyncPair(reader net.Conn, writer io.Writer) *syncPair {
  17. sp := syncPairPool.Get().(*syncPair) // nolint: forcetypeassert
  18. sp.writer.Reset(writer)
  19. sp.reader = reader
  20. return sp
  21. }
  22. func releaseSyncPair(sp *syncPair) {
  23. sp.writer.Reset(nil)
  24. sp.reader = nil
  25. syncPairPool.Put(sp)
  26. }