-
Notifications
You must be signed in to change notification settings - Fork 222
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
Merge changes from enzious/rust-websocket #192
Comments
I'll do that in about week and a half if primary rust-websocket developers stay inactive. |
That would be great. I recently attempted to rebase the changes for a merge request but due to e.g. rustfmts etc. it's quite tough. Let me know if I should attempt again to rebase and create a merge request, I just saw that you also want to look into the other merge requests so I assume this will mean quite some work. |
The more work, the less pull requests would be in. "Tokio reform" (and in general dependency version updates) is although a priority one.
Have you succeed in the end? If yes, it may be worth submitting a new pull request with this. |
I merged those PRs and did some lint changes. I'm on the clock though so I didn't do a lot. Also of note, I didn't just upgrade tokio. I also changed the way the request is parsed quite a bit by adding the http crate. Someone might want to put their eyes on that. Also, use_extensions is not implemented. |
@enzious thanks for that! Just to mention that the http changes are due hyper v12 using the http types right? So this is another great feature in the merge request. I'll try to find some time to look deeper into those changes.
|
Is pull request #186 related to this somehow? |
Since the tokio reform changes and tokio-tls changes have been incorporated now in websocket-rs I feel the major remaining part is the hyper 0.12 upgrade that could still be incorporated into websocket-rs. Resolving the merge conflicts between the fork and rust-websocket by now seems to be almost the same works as doing a hyper migration again. I briefly looked at the merge conflicts today. Nevertheless a major part of the Rust ecosystem seems to already have migrated to hyper 0.12 |
I would probably close this issue in favour of an issue: "Migrate to Hyper v0.12" |
I also made a weak attempt at migrating it to Hyper 0.12 (and also familiarized myself about hyper a bit). It's nowhere near complete although. New hyper seems to be async-centric and rust-websocket is both for sync and async. I'm not sure how to handle it. Is depending on |
Yeah you seem to be correct regarding the observation that Hyper 0.12 is async-centric. I assume any kind of tokio dependency in a sync code would seem weird. Just checked could it be that the http crate used by hyper 0.12 would be a better idea for sync code? Anyway I kind of feel in long term it might make sense to split the async part into a separate crate (it could remain part of the workspace) otherwise it seems dealing with those diverging requirements might become difficult in the future. Sticking to the old version of hyper I assume will in longterm lead to problems with other crates. Just tested the enzious fork with
and due a tokio-io dependencies in the codec module this currently will not build. |
Usage of hyper 0.10 is already a problem for Websocat: for inclusion in Debian repositories it needs to depend on 0.12. |
Do you think code suddently starting using
I assume |
Personally i don't see the problem with wrapping async internals in a sync api (similar to what reqwest does) provided there are enough api knobs to control the internal executor. |
I think it would be great to have the changes from enzious/rust-websocket back in websockets-rs/rust-websocket and published as a new crate version.
Major benefit is it contains the tokio reform changes.
Before being merged I think this still needs https://github.com/enzious/rust-websocket/pull/5/files to remove the dependency to
git = "https://github.com/enzious/tokio-tls"
.I have also created an issue within the project but there appears to be no response.
enzious#6
The text was updated successfully, but these errors were encountered: