noop.go 953 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package noop
  2. import (
  3. "net"
  4. "v2ray.com/core/common/serial"
  5. "v2ray.com/core/transport/internet"
  6. )
  7. type NoOpHeader struct{}
  8. func (v NoOpHeader) Size() int {
  9. return 0
  10. }
  11. func (v NoOpHeader) Write([]byte) (int, error) {
  12. return 0, nil
  13. }
  14. type NoOpHeaderFactory struct{}
  15. func (v NoOpHeaderFactory) Create(config interface{}) internet.PacketHeader {
  16. return NoOpHeader{}
  17. }
  18. type NoOpConnectionHeader struct{}
  19. func (NoOpConnectionHeader) Client(conn net.Conn) net.Conn {
  20. return conn
  21. }
  22. func (NoOpConnectionHeader) Server(conn net.Conn) net.Conn {
  23. return conn
  24. }
  25. type NoOpConnectionHeaderFactory struct{}
  26. func (NoOpConnectionHeaderFactory) Create(config interface{}) internet.ConnectionAuthenticator {
  27. return NoOpConnectionHeader{}
  28. }
  29. func init() {
  30. internet.RegisterPacketHeader(serial.GetMessageType(new(Config)), NoOpHeaderFactory{})
  31. internet.RegisterConnectionAuthenticator(serial.GetMessageType(new(Config)), NoOpConnectionHeaderFactory{})
  32. }