Skip to content

docs(channel): clarify feature boundaries - #226

Merged
tisonkun merged 8 commits into
mainfrom
codex/dispatch-channel-feature
Aug 27, 2026
Merged

docs(channel): clarify feature boundaries#226
tisonkun merged 8 commits into
mainfrom
codex/dispatch-channel-feature

Conversation

@tisonkun

@tisonkun tisonkun commented Aug 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Keep the existing mpsc Cargo feature instead of introducing a speculative queue, dispatch, or channel aggregate.
  • Document that current channel features follow current public modules: oneshot, mpsc, and broadcast; topology and capacity remain API-level choices.
  • Separate one-shot, single-delivery MPSC, and broadcast entries in the API guide.
  • Correct the changelog wording: broadcast::overflow was removed, while the broadcast feature remains.

Design Notes

Cargo features control compiled capabilities and dependencies; they do not need to encode every channel topology. The broadcast feature can expose specialized SPMC and MPMC APIs under one delivery family, while implementation-specific producer topology remains visible in module paths and types. Additional aggregate or leaf features should be introduced only when implemented variants demonstrate a material compile-time, dependency, binary-size, or audit boundary.

Refs #167 and #206.

Validation: cargo x check, cargo x build, cargo x lint, cargo x test, and cargo +1.86.0 check -p asyncband --no-default-features --features mpsc.

@tisonkun tisonkun changed the title refactor(channel): group competing channels under dispatch refactor(channel): rename mpsc feature to queue Aug 27, 2026
@tisonkun tisonkun changed the title refactor(channel): rename mpsc feature to queue docs(channel): clarify feature boundaries Aug 27, 2026
@tisonkun
tisonkun requested review from orthur2 and a lite review from Copilot August 27, 2026 06:03

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

Clarifies how Asyncband’s channel-related Cargo features map to the public API surface (by delivery family modules), and updates the crate-level API guide and changelog wording to match that framing.

Changes:

  • Document that channel Cargo features align with the public modules oneshot, mpsc, and broadcast, with topology/capacity expressed in module paths and constructors.
  • Split the crate-level API guide’s “Send values” row into distinct oneshot/MPSC/broadcast entries for clearer boundaries.
  • Adjust changelog wording around the removal of broadcast::overflow vs. retention of the broadcast feature.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
README.md Adds a channel-features clarification and tightens the MPSC description in the API table.
CHANGELOG.md Updates wording about broadcast::overflow removal and the remaining broadcast feature.
asyncband/src/lib.rs Expands crate docs to clarify feature boundaries and separates channel families in the API guide table.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread CHANGELOG.md
Comment thread asyncband/src/lib.rs Outdated
Comment thread README.md Outdated
@tisonkun
tisonkun merged commit 11652f9 into main Aug 27, 2026
9 checks passed
@tisonkun
tisonkun deleted the codex/dispatch-channel-feature branch August 27, 2026 12:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants