conn.go 1012 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package udp
  2. import (
  3. "github.com/slackhq/nebula/config"
  4. "github.com/slackhq/nebula/firewall"
  5. "github.com/slackhq/nebula/header"
  6. )
  7. const MTU = 9001
  8. type EncReader func(
  9. addr *Addr,
  10. out []byte,
  11. packet []byte,
  12. header *header.H,
  13. fwPacket *firewall.Packet,
  14. lhh LightHouseHandlerFunc,
  15. nb []byte,
  16. q int,
  17. localCache firewall.ConntrackCache,
  18. )
  19. type Conn interface {
  20. Rebind() error
  21. LocalAddr() (*Addr, error)
  22. ListenOut(r EncReader, lhf LightHouseHandlerFunc, cache *firewall.ConntrackCacheTicker, q int)
  23. WriteTo(b []byte, addr *Addr) error
  24. ReloadConfig(c *config.C)
  25. Close() error
  26. }
  27. type NoopConn struct{}
  28. func (NoopConn) Rebind() error {
  29. return nil
  30. }
  31. func (NoopConn) LocalAddr() (*Addr, error) {
  32. return nil, nil
  33. }
  34. func (NoopConn) ListenOut(_ EncReader, _ LightHouseHandlerFunc, _ *firewall.ConntrackCacheTicker, _ int) {
  35. return
  36. }
  37. func (NoopConn) WriteTo(_ []byte, _ *Addr) error {
  38. return nil
  39. }
  40. func (NoopConn) ReloadConfig(_ *config.C) {
  41. return
  42. }
  43. func (NoopConn) Close() error {
  44. return nil
  45. }