-
Notifications
You must be signed in to change notification settings - Fork 384
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
Remove need for tokio runtime for supporting serve
#6043
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Wumpf
added
🦀 Rust API
Rust logging API
do-not-merge
Do not merge this PR
dependencies
concerning crates, pip packages etc
include in changelog
labels
Apr 19, 2024
6 tasks
emilk
reviewed
Apr 19, 2024
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.
🍾
@@ -218,7 +218,6 @@ tiny_http = { version = "0.12", default-features = false } | |||
tinystl = { version = "0.0.3", default-features = false } | |||
tinyvec = { version = "1.6", features = ["alloc", "rustc_1_55"] } | |||
tobj = "4.0" | |||
tokio = { version = "1.24", default-features = false } |
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.
🥳
emilk
approved these changes
Apr 19, 2024
Wumpf
force-pushed
the
andreas/remove-tokio
branch
from
April 22, 2024 10:56
18b7500
to
1672a7e
Compare
Wumpf
added a commit
that referenced
this pull request
Apr 22, 2024
…ality (#6042) ### What The prime motivator for this is to fix the need for setting up a tokio runtime every time someone calls serve. Pro: * no more need for tokio due to http server * smaller dependency overall * very simple lowlevel code for what should be also a very simple task ("send these 4 files whenever someone asks you") Con: * wasm is no longer sent compressed since tiny_http doesn't support this * I had to do some odd hack in order to keep the wasm download progress bar running (see comments on `rerun-wasm-size:` http header) * this is not noticable on localhost, I only noticed this family of issues by simulating lower transfer speeds in my browser There's some loose ends for final tokio removal which are tied up in #6043 (testing was mostly done on that pr and a little bit in isolation here as well to track down the download progress bar issues) ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using examples from latest `main` build: [rerun.io/viewer](https://rerun.io/viewer/pr/6042?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [rerun.io/viewer](https://rerun.io/viewer/pr/6042?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! * [x] Test Jupyter notebook - [PR Build Summary](https://build.rerun.io/pr/6042) - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
Wumpf
force-pushed
the
andreas/remove-tokio
branch
from
April 22, 2024 13:40
1672a7e
to
60cd72b
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
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.
What
Rust users now no longer need to ensure to have tokio runtime set up when using
serve
.tokio
#5907serve
functionality #6042Last PR in a series of PRs for removal of the tokio runtime:
*similar to the refactor in re_ws_comms only in spirit - a lot simpler: no fancy broadcast, no other libraries involved. Just a bunch of threads hammering on blocking sockets).
Dependency count
0.15.1
-> last fridayd90ed2f7e
->this pr
cargo build -p rerun --no-default-features
225 -> 274 -> 275 dependenciescargo build -p rerun -F default
361 -> 364 -> 364 dependenciescargo build -p rerun -F web_viewer
409 -> 412 -> 374 dependenciesNotes:
rerun
andre_sdk
#4824Checklist
main
build: rerun.io/viewernightly
build: rerun.io/viewerTo run all checks from
main
, comment on the PR with@rerun-bot full-check
.