noop.go 790 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package noop
  2. import (
  3. "context"
  4. "net"
  5. "v2ray.com/core/common"
  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. func NewNoOpHeader(context.Context, interface{}) (interface{}, error) {
  15. return NoOpHeader{}, nil
  16. }
  17. type NoOpConnectionHeader struct{}
  18. func (NoOpConnectionHeader) Client(conn net.Conn) net.Conn {
  19. return conn
  20. }
  21. func (NoOpConnectionHeader) Server(conn net.Conn) net.Conn {
  22. return conn
  23. }
  24. func NewNoOpConnectionHeader(context.Context, interface{}) (interface{}, error) {
  25. return NoOpConnectionHeader{}, nil
  26. }
  27. func init() {
  28. common.Must(common.RegisterConfig((*Config)(nil), NewNoOpHeader))
  29. common.Must(common.RegisterConfig((*ConnectionConfig)(nil), NewNoOpConnectionHeader))
  30. }