I noticed increased latency and overhead when trying to use DoQ instead of DoH3. It appears that the DoQ implementation uses individual connections that terminate immediately after each request, which added a noticeable delay on DNS requests. Also see github.com//issues/309.
The changes proposed here modify the DoQ implementation to use a single persistent connection similar to the http3.Transport implementation for DoH3.
I tested this on an arm7/linux platform using OpenWRT. The connection persists as expected, and the latency/overhead appears to be at least as good as DoH3 for my use case.
Open to any thoughts or concerns about this approach.
(All code written by Claude.)
doq-persistent-conn.patch
I noticed increased latency and overhead when trying to use DoQ instead of DoH3. It appears that the DoQ implementation uses individual connections that terminate immediately after each request, which added a noticeable delay on DNS requests. Also see github.com//issues/309.
The changes proposed here modify the DoQ implementation to use a single persistent connection similar to the http3.Transport implementation for DoH3.
I tested this on an arm7/linux platform using OpenWRT. The connection persists as expected, and the latency/overhead appears to be at least as good as DoH3 for my use case.
Open to any thoughts or concerns about this approach.
(All code written by Claude.)
doq-persistent-conn.patch