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

Support Rust listeners on C LegacyFiles #2715

Merged
merged 3 commits into from
Feb 9, 2023

Conversation

stevenengler
Copy link
Contributor

@stevenengler stevenengler commented Feb 2, 2023

This should allow us to add rust state/status listener callback closures to LegacyFiles in the future. This means that we can write rust objects that add listeners to LegacyFiles. For example, we can write a rust epoll file object that listens for events on C TCP or RegularFile objects using rust closures.

@stevenengler stevenengler self-assigned this Feb 2, 2023
@github-actions github-actions bot added the Component: Main Composing the core Shadow executable label Feb 2, 2023
@codecov
Copy link

codecov bot commented Feb 2, 2023

Codecov Report

Base: 67.03% // Head: 67.85% // Increases project coverage by +0.82% 🎉

Coverage data is based on head (7aa8f26) compared to base (6064cc8).
Patch coverage: 95.00% of modified lines in pull request are covered.

❗ Current head 7aa8f26 differs from pull request most recent head e2543c9. Consider uploading reports for the commit e2543c9 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2715      +/-   ##
==========================================
+ Coverage   67.03%   67.85%   +0.82%     
==========================================
  Files         203      203              
  Lines       30513    30507       -6     
  Branches     5970     5963       -7     
==========================================
+ Hits        20454    20701     +247     
+ Misses       5375     5113     -262     
- Partials     4684     4693       +9     
Flag Coverage Δ
tests 67.85% <95.00%> (+0.82%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
src/main/utility/legacy_callback_queue.rs 85.71% <93.75%> (+6.08%) ⬆️
src/main/host/descriptor/mod.rs 69.18% <95.83%> (+2.11%) ⬆️
src/main/host/descriptor/socket/inet/mod.rs 27.34% <0.00%> (-15.97%) ⬇️
src/main/host/descriptor/socket/inet/tcp.rs 67.02% <0.00%> (-3.25%) ⬇️
src/lib/shmem/src/scmutex.rs 87.05% <0.00%> (-2.36%) ⬇️
src/main/host/network_interface.rs 91.37% <0.00%> (-0.43%) ⬇️
src/main/network/net_namespace.rs 77.98% <0.00%> (-0.40%) ⬇️
src/main/utility/byte_queue.rs 56.01% <0.00%> (ø)
src/test/signal/test_signals.rs 84.64% <0.00%> (+0.35%) ⬆️
src/main/core/manager.rs 63.63% <0.00%> (+0.44%) ⬆️
... and 25 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report at Codecov.
📢 Do you have feedback about the report comment? Let us know in this issue.

@stevenengler stevenengler force-pushed the legacy-file-statuses branch 3 times, most recently from 80e7065 to 3870453 Compare February 6, 2023 21:26
@stevenengler stevenengler marked this pull request as ready for review February 6, 2023 21:27
@stevenengler
Copy link
Contributor Author

Runtime performance and memory usage seems to be slightly worse in a tor benchmark. I'm not sure why the memory usage appears worse. The simulation network results did not change.

https://github.com/shadow/benchmark-results/tree/master/tor/2023-02-07-T20-06-50

1675868563_grim
1675868575_grim
client_goodput exit

src/main/host/descriptor/mod.rs Outdated Show resolved Hide resolved
src/main/host/descriptor/mod.rs Outdated Show resolved Hide resolved
src/main/utility/legacy_callback_queue.rs Outdated Show resolved Hide resolved
src/main/host/descriptor/mod.rs Show resolved Hide resolved
@stevenengler stevenengler added this pull request to the merge queue Feb 9, 2023
@stevenengler stevenengler removed this pull request from the merge queue due to a manual request Feb 9, 2023
@stevenengler stevenengler merged commit 268bef1 into shadow:main Feb 9, 2023
@stevenengler stevenengler deleted the legacy-file-statuses branch February 9, 2023 19:57
stevenengler added a commit that referenced this pull request Feb 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: Main Composing the core Shadow executable
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants