-
Notifications
You must be signed in to change notification settings - Fork 957
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
Switch from webrtc-rs
to str0m
#3659
Comments
cc @melekes Depending on how many problems you run into once you deploy |
webrtc-rs
to str0m
webrtc-rs
to str0m
@mxinden Any chance we can get this on the roadmap? |
If we want to do libp2p/specs#544 (which I think is a really good idea), I believe this issue is a blocker. |
Can you create a pull request @thomaseizinger? Allows us to discuss priorities with the other items. |
I've opened an issue for the failed SDP parsing which is where we hit a roadblock when @mxinden and I last explored what it would take to switch: algesten/str0m#164 |
The playground @mxinden and I have been using is here: https://github.com/thomaseizinger/str0m/tree/libp2p-webrtc-playground Will keep exploring on the side. |
I've tried #164 out and with an additional small change to the SDP, this now parses correctly. I've pushed it to the branch above. The new output is now:
This hang there which might be due to what is mentioned in algesten/str0m#164 (comment). |
New tracking issue on the |
@altonen Did I understand you in algesten/str0m#166 correctly that you are working on this? Mind sharing a draft-PR? I am very excited what this looks like :) |
I have a small experiment going on. It's not production-ready and still very rough around the edges (including WebRTC). If this turns out to be just a waste of time, I'll upstream the |
Looks great! Thanks for sharing :) In case somebody picks this up, I am sure your WebRTC implementation is a good reference point. Btw: we are working on a similar builder API: #4120 |
Cheers, I hope the implementation is of small help to you if I don't make the PR myself at some point. |
FTR, the main implementation is here: https://github.com/altonen/litep2p/blob/master/src/transport/webrtc |
webrtc-rs
to str0m
webrtc-rs
to str0m
I'm going to see if I can get this integrated into rust-libp2p |
Just an update from my May comment, I did start a branch on this but was taking much longer than I expected and I had to stop in order to switch back to my other priorities. If anyone wants to reference my branch (I'm not saying it's good... I'm just saying it's there 😆) the link is: https://github.com/DougAnderson444/rust-libp2p/tree/webrtc-str0m/transports/webrtc-str0m That's there as reference in case anyone wants to have a look before they take a crack at this. But also feel free to completely ignore it! |
Description
The
webrtc-rs
implementation has a few fundamental issues due to its design. async callbacks require locks and prevent the idiomatic use of&mut
. This results in problems such as webrtc-rs/webrtc#413 which currently prevent us from upgrading to the latest version: #3552The new kid on the block is
str0m
, a sans IO implementation of the webrtc stack: https://github.com/algesten/str0mIn the tests, it looks like they already support data channels, meaning we might be able to replace
webrtc
with it.Motivation
webrtc
is an extremely heavy dependency and it bloats our dependency treeRelated issues:
Are you planning to do it yourself in a pull request?
No.
The text was updated successfully, but these errors were encountered: