feat(channel): implement channel taxonomy - #183
Closed
tisonkun wants to merge 1 commit into
Closed
Conversation
tisonkun
force-pushed
the
codex/channel-terminal
branch
from
August 24, 2026 03:37
941c8df to
8e1f1f8
Compare
tisonkun
marked this pull request as draft
August 24, 2026 04:00
tisonkun
force-pushed
the
codex/channel-terminal
branch
from
August 26, 2026 06:06
8e1f1f8 to
27510c7
Compare
Co-authored-by: Orthur <orthur2@gmail.com>
tisonkun
force-pushed
the
codex/channel-terminal
branch
from
August 26, 2026 15:18
27510c7 to
a45ba6d
Compare
Member
Author
|
Closing this bundled implementation in favor of an incremental rollout. The channel work is now tracked by #206 through independently reviewable sub-issues. The replacement starts with #207, which only moves the existing oneshot and MPSC implementations into the terminal private source layout without changing algorithms or adding channel families. |
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #167. Supersedes #117.
Summary
asyncband::mpsc,asyncband::spmc, andasyncband::broadcast, while collecting their implementations in a privatechannelsource tree.Design Notes
Co-authored-bytrailer.AtomicWakerreceiver path frommain, and SPSC reuses that backend. Multi-consumer queues and broadcasts useWaitSetbecause they must track multiple pending receivers.cargo x bench: MPSC unbounded 9.79 ns, MPMC queue unbounded 8.81 ns, SPSC queue unbounded 9.78 ns, broadcast unbounded with one subscription 28.58 ns, and watch send-and-borrow 15.56 ns. Broadcast reclamation with 256 historical subscriptions and one live subscription was 32.81 ns.cargo x lint,cargo x test,cargo x check,cargo x bench, andcargo +1.86.0 check -p asyncband --all-features --all-targets.