-
Notifications
You must be signed in to change notification settings - Fork 450
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
use async/await for mainloop #1059
Merged
Merged
Commits on Mar 11, 2022
-
replace hook processes with tokio::process
Previously, handling too many librespot events in a row, the spawned hook might not have been finished. In this case, the events would stack up, since the event channel then would not be polled. By using the tokio::process module, we gain support for waiting for processes asynchronously and even if an event would not be handled directly, it will be handled after the previous hook process has finished.
Configuration menu - View commit details
-
Copy full SHA for d8ff824 - Browse repository at this point
Copy the full SHA d8ff824View commit details -
Configuration menu - View commit details
-
Copy full SHA for 33ad39b - Browse repository at this point
Copy the full SHA 33ad39bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f3deda2 - Browse repository at this point
Copy the full SHA f3deda2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 826886a - Browse repository at this point
Copy the full SHA 826886aView commit details -
rewrite mainloop using async / await
The mainloop code is simplified by relying on the async / await syntax instead of implementing all the futures ourselves. In doing so, this also works, if a different user connects during the playback. Additionally, the application chooses now between connecting using the users credentials and starting discovery. If there are valid credentials, no discovery stream is started at all, which prevents buggy and surprising behaviour.
Configuration menu - View commit details
-
Copy full SHA for 7ea5d59 - Browse repository at this point
Copy the full SHA 7ea5d59View commit details -
Configuration menu - View commit details
-
Copy full SHA for aebfdf1 - Browse repository at this point
Copy the full SHA aebfdf1View commit details -
use stack pinning in some cases
Co-authored-by: Robin van Dijk <robin@robinjint.nl>
Configuration menu - View commit details
-
Copy full SHA for de5c92e - Browse repository at this point
Copy the full SHA de5c92eView commit details
Commits on May 7, 2022
-
allow replacing orphaned dbus servers
This works around the issue, where dbus servers would stay around until the application ends, although their corresponding session had already ended. New sessions were then unable to communicate through dbus. Now, newer servers will just replace any previous name owners.
Configuration menu - View commit details
-
Copy full SHA for 89fa16d - Browse repository at this point
Copy the full SHA 89fa16dView commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.