New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
std::future preview #849
std::future preview #849
Conversation
884a4ad
to
f708035
Compare
What's the progress of this PR? I want to do some help. |
FYI: Current progress. the base proto, client, and resolver crates are all fully passing tests with default features. Now working on server, *tls, and the integration test crates. No interfaces have been updated yet to be async/await friendly, but getting there. |
There is a weird file named "1" added by 6602c68, looks like an error. |
Oh, huh. I wonder how that happened. Thanks for the heads up. |
FYI, for an update on the progress of this. All crates are compiling with default features, and integration tests are all passing, except for one. There is a test that was reliant on task local storage for tracking the depth of CNAME chain lookups in the resolver. I'm working to rewrite that logic such that we can still make sure we don't follow CNAME chains beyond a reasonable level. |
Ok, all default features are now compiling, all tests passing. Max Query depth for CNAME chains is enforced again. This is getting close for a review. |
9ceb235
to
c1734e5
Compare
FYI, just push a rebase onto master. So any forks should be aware. I'm going to go through and review all of this change, I there are quite a few FIXMEs I sprinkled throughout, need to clean that up. |
d3935ff
to
2dfebd5
Compare
HandleRequest::Result(Ok(_)) => Ok(Async::Ready(())), | ||
HandleRequest::Result(Err(res)) => { | ||
// TODO: return () | ||
type Output = Result<(), ()>; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Convert to ()
type Item = (); | ||
type Error = (); | ||
impl<R: ResponseHandler + Unpin> Future for LookupFuture<R> { | ||
// TODO: return () |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
convert to ()
4d94c4e
to
4d9fc79
Compare
proto types all updated all types updated to new tokio and futures tcp_stream compiling wip: most types updated tcp stream updated to std::future proto crate compiling, need to fix some udp apis proto compiling and all tests passing mdns and secure socket handle compiling
all types compiling cleanup some usage of the pins all default feature tests passing for resolver!
server and tests compiling, wip: need tests to pass fix server runtime, all default-features passing
https_client_stream compiling https passing all tests
all tests passing but chained
wip: review cleanup clean up for merge
4d9fc79
to
c956e10
Compare
Ok. I believe this is ready to go. I’ll be merging in then will publish the first preview! We’ll want to adjust some of the APIss I’m sure. |
Still cannot pass travis' tests. |
Yes. I think those are my last cleanup changes. They were passing just before this. |
4536e3b
to
83756c4
Compare
fe1c917
to
7f70fb9
Compare
7f70fb9
to
187006a
Compare
@bluejekyll congrats! and thanks for your work. |
Thanks, I'm just happy all the Futures work stabilized, so there shouldn't be a need to do a massive upgrade like this again. That was a slog. |
I was hoping this could be done without pulling a dependency on async/await, but no such luck. There are some complex areas that make this painful.