-
Notifications
You must be signed in to change notification settings - Fork 3
Add smoldot-based WebRTC dialer #3
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
base: master
Are you sure you want to change the base?
Conversation
and remove some unused deps
|
I would also like to update the table in the README but with so many combinations being tested, it now takes forever to run |
I've updated the table now by running only the missing pairs manually. |
This PR adds a minimal WebRTC dialer based on the smoldot codebase that implements the litep2p-perf protocol.
It is based off #2, so this PR should be reviewed and merged first.
In order to run this, the host machine needs to have Chrome installed. The
headless_chromecrate can download a Chrome binary if necessary. This could be enabled, but for now I've opted not to.Other requirements apart from a Rust toolchain are an installed
wasm32-unknown-unknowntarget as well as thewasm-bindgen-clicrate, which needs to be installed in the exact same version as is used in thesmoldot-perfpackage. This is checked in thesmoldot-automationexecutable.I tried to run the dialer in Docker, but ran into networking issues I was unable to resolve.
One limitation I've noticed is that the
performance.now()function available in the browser for measuring time passed lacks the necessary precision to measure the bandwidth for small amounts of data, like 1 kiB.So far this PR encompasses only connecting from a dialer in Chrome to a litep2p-based listener. We could also add a libp2p-based listener and/or run the dialer in Firefox. But I'd suggest we add that in a follow-up PR.