Skip to content
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

Tokio migration #665

Merged
merged 92 commits into from
Apr 13, 2021
Merged

Tokio migration #665

merged 92 commits into from
Apr 13, 2021

Conversation

Johannesd3
Copy link
Contributor

@Johannesd3 Johannesd3 commented Mar 8, 2021

We're very close to finishing the migration to Tokio 1.0, and I think the result is worth seeing. Not only tokio but almost every other dependency was bumped to its latest version. In many places the code became simpler by using the async/await notation, and there were some general efforts of refactoring the code on this occasion.

Issues:

Pull requests:

Things that were removed and might or might not be added back:

and

Fixes #677, fixes #596, fixes #368

ashthespy and others added 30 commits January 23, 2021 22:21
Fix apresolve

WIP session

[Core] More migration

Playing with `ReadExact` and `WriteAll`

Add some simple checks

Take little steps
Implementing the tower_service::Service trait for a newly created
ProxyTunnel struct, so it can be used as connector in hyper.
[Tokio migration] Add back hyper-proxy
@Johannesd3
Copy link
Contributor Author

@ashthespy Would you try to merge dev in?

@Johannesd3 Johannesd3 marked this pull request as ready for review March 29, 2021 19:45
@Johannesd3 Johannesd3 changed the title WIP: Tokio migration Tokio migration Mar 29, 2021
@ashthespy
Copy link
Member

@Johannesd3 I'm away from a console for a bit longer, sorry!

@sashahilton00
Copy link
Member

FWIW I've been running this branch without issue for about a week now. Given that the remaining todos are mostly think about/do we need items, and since #674 is now merged, now is probably as good a time as any to merge this into dev and release 0.2.0. Unless there are any objections, once this is rebased I'll merge it.

@Johannesd3
Copy link
Contributor Author

Johannesd3 commented Apr 10, 2021

I certainly won't rebase 74 commits, we'll have to merge the changes of dev in. #687 contains dev until yesterday, but the latest PR by @roderickvd will be hard to merge ...

EDIT: I merged also the latest PR.

Johannesd3 and others added 13 commits April 10, 2021 12:50
Librespot-connect uses hyper anyway, so no one needs to disable it
only to reduce the number of dependencies. Furthermore, when using
another backend, people will use --no-default-features and will forget
to enable the apresolve feature again.
Some of the feature flags librespot uses are not really additive but
rather mutual exclusive. A previous attempt to improve the situation
had other drawbacks, so it's better to postpone a decision and restore
the old behaviour.
fe37186 added the restriction that `Sink`s must be `Send`. It turned
out later that this restrictions was unnecessary, and since some
`Sink`s aren't `Send` yet, this restriction is lifted again.

#601 refactored the `RodioSink` in order to make
it `Send`. These changes are partly reverted in favour of the initial
simpler design.

Furthermore, there were some compile errors in the gstreamer backend
which are hereby fixed.
The first test checks whether apresolve works. A second test tries
to create a Spotify sessions with fake credentials and asserts that
an error is returned.
Run the tests and add build for Windows.
Further progress on tokio migration
@Johannesd3 Johannesd3 mentioned this pull request Apr 11, 2021
@sashahilton00
Copy link
Member

Well this PR is a monster, quite the achievement. Thanks for putting the work in. Are we happy to merge?

@Johannesd3
Copy link
Contributor Author

Johannesd3 commented Apr 11, 2021

There's no reason for it, but I'm still anxious. Maybe just wait 3 days, so everyone who is watching might test their own favourite features again after the lastest changes, but there are no outstanding or planned changes from my side.

@sashahilton00 sashahilton00 merged commit 7b53755 into dev Apr 13, 2021
@sashahilton00 sashahilton00 deleted the tokio_migration branch April 13, 2021 01:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Memory Leak? Move get_credentials function to the application Updating url dependency
7 participants