Open cyanfish opened 2 weeks ago
That's not spec correct either. A server is expected to be listening to broadcasts during that waiting period and respond accordingly. That waiting period only applies in some cases where as others like probe responses MUST be sent immediately.
This library needs a transmission scheduler with preemption to handle mandatory delays, response trimming, query aggregation and many other SHOULDs. I'll try to address these where it's unlikely to harm stability.
This library also needs to differentiate between shared and exclusive records. Then handling things like negative responses and deconfliction could be tackled.
Per https://datatracker.ietf.org/doc/html/rfc6762#section-6:
I implemented this in my fork but perhaps it's worth making it configurable.