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

Rust version with thread-based worker #540

Merged
merged 59 commits into from
Apr 2, 2021
Merged

Conversation

nazar-pc
Copy link
Collaborator

This PR builds on top of capabilities introduced in #533.

Main changes here:

  • workers are now started in threads instead of processes, so the logic and API around that had to be changed
  • minor tweaks to worker's makefile to clean some more files and support custom output directory that facilitates mediasoup-sys crate creation
  • mediasoup-sys crate itself, which bundles C++ code, has build instructions for it and exposes libmediasoup-worker using FFI to regular mediasoup crate as plain standard dependency
  • disable Rust Nightly in CI as it may introduce new clippy lints and such at any time and would cause annoying false-positives more often
  • improved code quality with additional lints that enforce more of best practices
  • rust-specific changelog with important code changes

Everything above greatly improves usability of mediasoup crate, there is no need to have NPM installed anymore or build worker manually.

The bulk of the diff is moving tests around since I could no longer send signal to worker to trigger all kinds of edge cases, instead there is a private API now used for testing and not available from integrations tests, so those test cases had to be moved into internal unit tests.

nazar-pc added 30 commits April 1, 2021 01:28
… be accessed, comment-out non-working test, all unlocked tests now pass locally
…send request for closing if if is unnecessary
nazar-pc added 25 commits April 1, 2021 01:28
…ize and make sure it is actually publishable
Copy link
Member

@ibc ibc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. Merging. Do we need a new mediasoup release? or just a new rust-X.X.X (which value) git tag? or both?

@ibc ibc merged commit 18db12a into versatica:v3 Apr 2, 2021
@nazar-pc
Copy link
Collaborator Author

nazar-pc commented Apr 2, 2021

Git tag rust-0.7.1 would be nice to have, thanks!

@ibc
Copy link
Member

ibc commented Apr 2, 2021

Tag pushed

@nazar-pc nazar-pc deleted the rust-worker branch October 11, 2021 04:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants