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

Add ImmediateChannel #264

Open
wants to merge 5 commits into
base: branch-23.01
Choose a base branch
from

Conversation

ryanolson
Copy link
Contributor

@ryanolson ryanolson commented Dec 27, 2022

ImmediateChannel shall:

  • Writes will suspend if there are no awaiting Readers
  • Reads will suspend if there are no awaiting Writers
  • Awaiting writers holding data are always processed first
  • Suspended writers are put in a FIFO resume linked-list after their data has been consumed
  • If no incoming (writer) data is available, writers are resumed in FIFO ordering from the resume queue
  • The execution context is held by the writer until there are no remaining writers to resume; in which case, forward progress can only be resumed by the execution context of a new upstream write event.
  • Back pressure is managed by transferring the execution context downstream, pausing upstream progress
  • Does not enable pipeline concurrency as the execution context is transferred.

Blocked by #263 - Remove DO NOT MERGE after #263 is merged

@ryanolson ryanolson added non-breaking Non-breaking change feature request New feature or request labels Dec 27, 2022
@ryanolson ryanolson requested a review from a team as a code owner December 27, 2022 07:18
@ryanolson ryanolson self-assigned this Dec 27, 2022
@ryanolson ryanolson mentioned this pull request Dec 27, 2022
1 task
Copy link

codecov bot commented Oct 21, 2024

Codecov Report

Attention: Patch coverage is 90.80460% with 8 lines in your changes missing coverage. Please review.

Project coverage is 72.69%. Comparing base (0151a7a) to head (aa508df).
Report is 16 commits behind head on branch-23.01.

Files with missing lines Patch % Lines
...p/mrc/include/mrc/channel/v2/immediate_channel.hpp 92.59% 6 Missing ⚠️
cpp/mrc/src/internal/control_plane/server.cpp 0.00% 2 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@               Coverage Diff                @@
##           branch-23.01     #264      +/-   ##
================================================
+ Coverage         72.52%   72.69%   +0.17%     
================================================
  Files               376      377       +1     
  Lines             12082    12183     +101     
  Branches            921      937      +16     
================================================
+ Hits               8762     8856      +94     
- Misses             3320     3327       +7     
Flag Coverage Δ
cpp 69.55% <90.80%> (+0.20%) ⬆️
py 38.32% <0.00%> (+0.01%) ⬆️

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

Files with missing lines Coverage Δ
cpp/mrc/include/mrc/core/error.hpp 83.33% <100.00%> (ø)
cpp/mrc/include/mrc/core/expected.hpp 71.02% <ø> (ø)
cpp/mrc/include/mrc/coroutines/ring_buffer.hpp 90.00% <100.00%> (ø)
cpp/mrc/src/internal/control_plane/client.hpp 68.96% <ø> (ø)
...ernal/control_plane/client/connections_manager.cpp 70.42% <ø> (ø)
...rc/internal/control_plane/client/state_manager.cpp 86.66% <ø> (ø)
...rnal/control_plane/client/subscription_service.cpp 0.00% <ø> (ø)
...p/mrc/src/internal/control_plane/proto_helpers.hpp 40.00% <ø> (ø)
cpp/mrc/src/internal/control_plane/server.hpp 100.00% <ø> (ø)
cpp/mrc/src/tests/test_expected.cpp 85.41% <ø> (ø)
... and 2 more

... and 6 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 0151a7a...aa508df. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DO NOT MERGE feature request New feature or request non-breaking Non-breaking change
Projects
No open projects
Status: Review
Development

Successfully merging this pull request may close these issues.

2 participants