Homogeneous Hub in v1
Platform spec ADR
Homogeneous Hub in v1
Spec standingStandard
- Concurrency package - Contracts and edge cases Send, Receive, Join, Cancel, and Hub normative contracts.
- Concurrency package - Decisions record (legacy index) Migration index pointing to per-decision ADR files under adr/—normative text lives in ADRs, not this page.
- Concurrency package - Design model Package layout, module map, and thin-wrapper rule for Fiber and Channel structs.
- Concurrency package - Examples Illustrative spawn, Channel, and Hub usage (informative).
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
| Section id | Required | Found |
|---|---|---|
what-this-feature-specifies | yes | yes |
implementation-anchors | yes | yes |
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Context
Section titled “Context”Heterogeneous select requires tagged unions or multiple hubs in v1.
Decision
Section titled “Decision”| Rule | Detail |
|---|---|
| Fairness | Round-robin (see D-CORE-CONC-0003) |
| Max registrations | 256 per hub (HubError::Limit possible) |
| Element type | Homogeneous — one `Hub<T>` wraps only `Channel<T>` with same T |
| Heterogeneous | Not v1 — use multiple hubs or `Channel<HubMessage>` |
| Result | HubReceiveResult { index: i64, value: T } |
Consequences
Section titled “Consequences”UI/console hubs should stay well below 256 registrations.
Verification anchors
Section titled “Verification anchors”Hub builtin tests; examples article.