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
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

wrap.go 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package wrappers
  2. import (
  3. "io"
  4. "net"
  5. )
  6. type Wrap interface {
  7. LogDebug(msg string, data ...interface{})
  8. LogInfo(msg string, data ...interface{})
  9. LogWarn(msg string, data ...interface{})
  10. LogError(msg string, data ...interface{})
  11. LocalAddr() *net.TCPAddr
  12. RemoteAddr() *net.TCPAddr
  13. }
  14. type Writer interface {
  15. io.Writer
  16. Wrap
  17. }
  18. type Closer interface {
  19. io.Closer
  20. Wrap
  21. }
  22. type WriteCloser interface {
  23. io.Closer
  24. Writer
  25. }
  26. type StreamReader interface {
  27. io.Reader
  28. Wrap
  29. }
  30. type StreamReadCloser interface {
  31. io.Closer
  32. StreamReader
  33. }
  34. type StreamReadWriter interface {
  35. io.Writer
  36. StreamReader
  37. }
  38. type StreamWriteCloser interface {
  39. io.Closer
  40. io.Writer
  41. Wrap
  42. }
  43. type StreamReadWriteCloser interface {
  44. io.Closer
  45. StreamReadWriter
  46. }
  47. type PacketReader interface {
  48. Read() ([]byte, error)
  49. Wrap
  50. }
  51. type PacketWriter interface {
  52. io.Writer
  53. Wrap
  54. }
  55. type PacketReadWriter interface {
  56. io.Writer
  57. PacketReader
  58. }
  59. type PacketReadCloser interface {
  60. io.Closer
  61. PacketReader
  62. }
  63. type PacketWriteCloser interface {
  64. io.Writer
  65. io.Closer
  66. Wrap
  67. }
  68. type PacketReadWriteCloser interface {
  69. io.Closer
  70. PacketReadWriter
  71. }