-
Notifications
You must be signed in to change notification settings - Fork 268
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
switch to tokio::process #1654
switch to tokio::process #1654
Conversation
@microsoft-github-policy-service agree company="Neon, Inc." |
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.
This seems to take a hard dependency on tokio
though, right? We intentionally do not have (unless there's a bug we missed) nor want a hard dependency on tokio
(just default).
For non-wasm (which is the only thing this touches), you are already depending on tokio through reqwest and AFAIK there are really no good alternatives in the Rust ecosystem right now:
|
Yeah there is already an (optional) dependency on tokio through reqwest but most people will probably enable reqwest anyways, so they already pull in tokio. At least that's what we are doing as users of the azure SDK. The current state pulls in the async-io crate unconditionally, which is IMO worse because that way, a lot of users end up depending on both async-io as well as tokio. If you really want, it is possible to make the dependency optional by adding a crate-private module that either contains a reexport of tokio's |
We actually do have use cases and budding implementation that will not use That said, this branch will eventually be replaced but community-supported for some time. While no one can say whether the whole community is using @ctaggart @demoray @jamesbell what do you think? For the stated reasons I'm all for replacing unmaintained |
@heaths I think this sounds like a great proposal and a good path forward. I think it makes sense to not have tokio be a hard dependency, but I feel for monoio it would make sense to not use async-io either. What would be the next steps for this pull request to get merged? |
@arpad-m could you add a trait much like we did for the |
@heaths sounds good to me (although I'm not the PR author, my colleague Conrad is). For clarification, would you prefer the use of |
For now, let's stay consistent with elsewhere in the code and stick with |
|
Resolves #1652.
As mentioned in the issue, reqwest already depends on tokio, so this removes a large section of the new dependency tree. tokio::process also uses non-blocking IO for windows, which async-process does not