conn.go 825 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package udp
  2. import (
  3. "net/netip"
  4. "github.com/slackhq/nebula/config"
  5. "github.com/slackhq/nebula/packet"
  6. )
  7. const MTU = 9001
  8. type EncReader func(*packet.Packet)
  9. type PacketBufferGetter func() *packet.Packet
  10. type Conn interface {
  11. Rebind() error
  12. LocalAddr() (netip.AddrPort, error)
  13. ListenOut(pg PacketBufferGetter, pc chan *packet.Packet) error
  14. WriteTo(b []byte, addr netip.AddrPort) error
  15. ReloadConfig(c *config.C)
  16. Close() error
  17. }
  18. type NoopConn struct{}
  19. func (NoopConn) Rebind() error {
  20. return nil
  21. }
  22. func (NoopConn) LocalAddr() (netip.AddrPort, error) {
  23. return netip.AddrPort{}, nil
  24. }
  25. func (NoopConn) ListenOut(_ EncReader) {
  26. return
  27. }
  28. func (NoopConn) WriteTo(_ []byte, _ netip.AddrPort) error {
  29. return nil
  30. }
  31. func (NoopConn) ReloadConfig(_ *config.C) {
  32. return
  33. }
  34. func (NoopConn) Close() error {
  35. return nil
  36. }