I noticed that when unbound processes queries from the same TCP connection, it processes them sequentially.
If I send multiple queries over the same TCP connection, unbound processes them one by one (not concurrently), which causes head of line blocking: The later queries have to wait previous queries to get processed.
The question is:
Is there any particular reason that unbound doesn’t support concurrent processing of queries from the same TCP connection?
I noticed that when unbound processes queries from the same TCP
connection, it processes them sequentially.
Yes.
If I send multiple queries over the same TCP connection, unbound
processes them one by one (not concurrently), which causes head of
line blocking: The later queries have to wait previous queries to
get processed.
The question is: Is there any particular reason that unbound
doesn't support concurrent processing of queries from the same TCP
connection?
The reason is a lot of code for little gain. Concurrent processing
(although possible because queries from different connections get
concurrent processing already) is likely to be a lot of code to implement.