noop.go 802 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package noop
  2. import (
  3. "context"
  4. "net"
  5. "v2ray.com/core/common"
  6. )
  7. type NoOpHeader struct{}
  8. func (NoOpHeader) Size() int32 {
  9. return 0
  10. }
  11. // Serialize implements PacketHeader.
  12. func (NoOpHeader) Serialize([]byte) {}
  13. func NewNoOpHeader(context.Context, interface{}) (interface{}, error) {
  14. return NoOpHeader{}, nil
  15. }
  16. type NoOpConnectionHeader struct{}
  17. func (NoOpConnectionHeader) Client(conn net.Conn) net.Conn {
  18. return conn
  19. }
  20. func (NoOpConnectionHeader) Server(conn net.Conn) net.Conn {
  21. return conn
  22. }
  23. func NewNoOpConnectionHeader(context.Context, interface{}) (interface{}, error) {
  24. return NoOpConnectionHeader{}, nil
  25. }
  26. func init() {
  27. common.Must(common.RegisterConfig((*Config)(nil), NewNoOpHeader))
  28. common.Must(common.RegisterConfig((*ConnectionConfig)(nil), NewNoOpConnectionHeader))
  29. }