//go:build ignore package peer import ( "net" "net/netip" "time" "golang.zx2c4.com/wireguard/wgctrl" "golang.zx2c4.com/wireguard/wgctrl/wgtypes" ) const ( broadcastInterval = 16 * time.Second broadcastErrorTimeoutInterval = 8 * time.Second ) var multicastAddr = net.UDPAddrFromAddrPort(netip.AddrPortFrom( netip.AddrFrom4([4]byte{224, 0, 0, 157}), 4560)) type Globals struct { LocalConfig // Embed, immutable. // WireGuard private key, client, and device name. Immutable after init. WGPrivKey wgtypes.Key WGClient *wgctrl.Client WGDevName string // Local public address (if available). Immutable. LocalAddr netip.AddrPort LocalAddrValid bool } func NewGlobals(localConfig LocalConfig, localAddr netip.AddrPort) (g Globals) { g.LocalConfig = localConfig g.LocalAddr = localAddr g.LocalAddrValid = localAddr.IsValid() return g }