Rewrite the resolver in C++ on a fixed query pool

Queries live in pool slots with their first A and AAAA answer inline,
c-ares sockets are watched from a fixed table, and answers reach the
waiter through a callback plus opaque words instead of a back-pointer.
resolv.cpp keeps the C API as a shim. The event Loop can now adopt the
ss_event loop, and a Poll can stop watching a socket it does not own.
This commit is contained in:
Max Lv
2026-10-14 22:53:09 +08:00
parent ca359160b2
commit 78ca0af745
8 changed files with 423 additions and 438 deletions
-1
View File
@@ -14,7 +14,6 @@ src/manager.cpp 14
src/plugin.cpp 3
src/process.cpp 26
src/redir.cpp 15
src/resolv.cpp 6
src/rule.cpp 2
src/server.cpp 17
src/ss_event.cpp 5