Update to use NewDiscoveryReceiver API
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -10,24 +10,14 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (t *Tendrils) startSACNDiscoveryListener(ctx context.Context, iface net.Interface) {
|
func (t *Tendrils) startSACNDiscoveryListener(ctx context.Context, iface net.Interface) {
|
||||||
receiver, err := sacn.NewReceiver("")
|
receiver, err := sacn.NewDiscoveryReceiver(&iface)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("[ERROR] failed to create sacn receiver: %v", err)
|
log.Printf("[ERROR] failed to create sacn discovery receiver on %s: %v", iface.Name, err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
defer receiver.Stop()
|
defer receiver.Stop()
|
||||||
|
|
||||||
if err := receiver.JoinDiscovery(&iface); err != nil {
|
|
||||||
log.Printf("[ERROR] failed to join sacn discovery multicast on %s: %v", iface.Name, err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: remove debug logging
|
|
||||||
log.Printf("[sacn] listening for discovery on %s", iface.Name)
|
|
||||||
|
|
||||||
receiver.SetHandler(func(src *net.UDPAddr, pkt interface{}) {
|
receiver.SetHandler(func(src *net.UDPAddr, pkt interface{}) {
|
||||||
// TODO: remove debug logging
|
|
||||||
log.Printf("[sacn] received packet from %s", src)
|
|
||||||
if disc, ok := pkt.(*sacn.DiscoveryPacket); ok {
|
if disc, ok := pkt.(*sacn.DiscoveryPacket); ok {
|
||||||
t.handleSACNDiscoveryPacket(src.IP, disc)
|
t.handleSACNDiscoveryPacket(src.IP, disc)
|
||||||
}
|
}
|
||||||
@@ -35,8 +25,6 @@ func (t *Tendrils) startSACNDiscoveryListener(ctx context.Context, iface net.Int
|
|||||||
|
|
||||||
receiver.Start()
|
receiver.Start()
|
||||||
<-ctx.Done()
|
<-ctx.Done()
|
||||||
// TODO: remove debug logging
|
|
||||||
log.Printf("[sacn] discovery listener exiting on %s", iface.Name)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *Tendrils) handleSACNDiscoveryPacket(srcIP net.IP, pkt *sacn.DiscoveryPacket) {
|
func (t *Tendrils) handleSACNDiscoveryPacket(srcIP net.IP, pkt *sacn.DiscoveryPacket) {
|
||||||
|
|||||||
Reference in New Issue
Block a user