Skip to content

Support Rust listeners on C LegacyFiles#2715

Merged
stevenengler merged 3 commits intoshadow:mainfrom
stevenengler:legacy-file-statuses
Feb 9, 2023
Merged

Support Rust listeners on C LegacyFiles#2715
stevenengler merged 3 commits intoshadow:mainfrom
stevenengler:legacy-file-statuses

Conversation

@stevenengler
Copy link
Copy Markdown
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
Copy Markdown

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
Copy Markdown
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

@stevenengler stevenengler disabled auto-merge February 9, 2023 18:54
@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.

2 participants