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 символів.

1234567891011121314151617181920212223242526272829303132
  1. package relay
  2. import "sync"
  3. type eastWest struct {
  4. east []byte
  5. west []byte
  6. }
  7. var eastWestPool = sync.Pool{
  8. New: func() interface{} {
  9. return &eastWest{}
  10. },
  11. }
  12. func acquireEastWest(bufferSize int) *eastWest {
  13. wanted := eastWestPool.Get().(*eastWest) // nolint: forcetypeassert
  14. if len(wanted.east) != bufferSize {
  15. wanted.east = make([]byte, bufferSize)
  16. }
  17. if len(wanted.west) != bufferSize {
  18. wanted.west = make([]byte, bufferSize)
  19. }
  20. return wanted
  21. }
  22. func releaseEastWest(ew *eastWest) {
  23. eastWestPool.Put(ew)
  24. }