Add ArtRDM TOD discovery support

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Ian Gulliver
2026-01-31 07:47:23 -08:00
parent 17ab11b048
commit a1431d5274
4 changed files with 142 additions and 10 deletions

View File

@@ -13,6 +13,10 @@ type Handler interface {
HandlePollReply(src *net.UDPAddr, pkt *PollReplyPacket)
}
type TodDataHandler interface {
HandleTodData(src *net.UDPAddr, pkt *TodDataPacket)
}
type Receiver struct {
conn *net.UDPConn
handler Handler
@@ -128,5 +132,11 @@ func (r *Receiver) handle(src *net.UDPAddr, data []byte) {
if reply, ok := pkt.(*PollReplyPacket); ok {
r.handler.HandlePollReply(src, reply)
}
case OpTodData:
if todHandler, ok := r.handler.(TodDataHandler); ok {
if tod, ok := pkt.(*TodDataPacket); ok {
todHandler.HandleTodData(src, tod)
}
}
}
}