mirror of
https://github.com/hickory-dns/hickory-dns.git
synced 2026-04-25 19:25:56 +03:00
[GH-ISSUE #308] Is trust_dns_server sync or async? #140
Labels
No labels
blocked
breaking-change
bug
bug:critical
bug:tests
cleanup
compliance
compliance
compliance
crate:all
crate:client
crate:native-tls
crate:proto
crate:recursor
crate:resolver
crate:resolver
crate:rustls
crate:server
crate:util
dependencies
docs
duplicate
easy
easy
enhance
enhance
enhance
feature:dns-over-https
feature:dns-over-quic
feature:dns-over-tls
feature:dnsssec
feature:global_lb
feature:mdns
feature:tsig
features:edns
has workaround
ops
perf
platform:WASM
platform:android
platform:fuchsia
platform:linux
platform:macos
platform:windows
pull-request
question
test
tools
tools
trust
unclear
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/hickory-dns#140
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @vi on GitHub (Dec 1, 2017).
Original GitHub issue: https://github.com/hickory-dns/hickory-dns/issues/308
One one hand I see refences to Tokio and things.
On the other,
trust_dns_server::server::RequestHandler'sfn handle_request(&self, request: &Request) -> Messagereturns plainMessageinstead ofFuture<Message>, so expected to be instantaneous. How then should one implement proxies or replicated servers or something like that? Or does it happen in some thread pool?In any case the documentation should be extended.
@bluejekyll commented on GitHub (Dec 1, 2017):
The server hasn't gotten a lot of treatment to be used internally, or be exposed to be used inside other software at the moment. I do see the value in this, but it's not be high priority at the moment. You're correct that a lot of the library keeps internal references to the reactor::Core and and other async components.
I'd be happy to start making the server easier to use inside other libraries, so if you have changes you'd like to see to make that easier, let's definitely file issues for that use case.
btw, to answer the question directly, the Server is async, it's just not easily embeddable in other software at the moment.
@bluejekyll commented on GitHub (Dec 15, 2017):
This is a duplicate of #309
@vi commented on GitHub (Dec 16, 2017):
So the answer is "it is async, but need to fix some issues".
@bluejekyll commented on GitHub (Dec 16, 2017):
To be accurately, internally it is async, but I never really exposed a library interface to use it inside something other than the named binary.
So yes, there is some minor cleanup needed to expose the futures based interfaces properly.