Use artnet library for per-interface discovery

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Ian Gulliver
2026-01-30 09:14:04 -08:00
parent d40102941b
commit d970d1db86
5 changed files with 64 additions and 137 deletions

View File

@@ -33,7 +33,6 @@ func getInterfaceIPv4(iface net.Interface) (srcIP, broadcast net.IP) {
type Tendrils struct {
activeInterfaces map[string]context.CancelFunc
nodes *Nodes
artnetConn *net.UDPConn
errors *ErrorTracker
ping *PingManager
broadcast *BroadcastStats
@@ -158,10 +157,6 @@ func (t *Tendrils) Run() {
go t.pollARP(ctx)
}
if !t.DisableArtNet {
go t.startArtNetListener(ctx)
}
ticker := time.NewTicker(1 * time.Second)
defer ticker.Stop()
@@ -298,7 +293,7 @@ func (t *Tendrils) startInterface(ctx context.Context, iface net.Interface) {
go t.listenMDNS(ctx, iface)
}
if !t.DisableArtNet {
go t.startArtNetPoller(ctx, iface)
go t.startArtNet(ctx, iface)
}
if !t.DisableSACN {
go t.startSACNDiscoveryListener(ctx, iface)