Skip to content

docs(design): actor pattern for Generator/Sender/Receiver#3801

Merged
oferchen merged 1 commit into
masterfrom
docs/actor-pattern-2136
May 7, 2026
Merged

docs(design): actor pattern for Generator/Sender/Receiver#3801
oferchen merged 1 commit into
masterfrom
docs/actor-pattern-2136

Conversation

@oferchen
Copy link
Copy Markdown
Owner

@oferchen oferchen commented May 7, 2026

Summary

  • Document the actor-pattern question (Add parity test for sparse with preallocate #2136) for the Generator, Sender, and Receiver roles.
  • Inventory the current threading model (one OS thread per direction plus one disk-commit thread, SPSC channels with zero syscalls, threshold-gated rayon for stat / signature / metadata).
  • Compare actor refactor (typed messages, supervised lifecycle, async cooperative tasks) against the current rayon plus dedicated threads plus SPSC topology.
  • Re-anchor the analysis on the wire-protocol single-threaded constraint already documented for task Cache CLI supported protocol list formatting #1197 (docs/architecture/parallelization.md, docs/audits/async-ssh-transport.md).
  • Recommend an actor-as-feature surface behind --features async-pipeline (multi-host fan-out, fault-injection tests) rather than wholesale replacement of the production hot path.

Test plan

  • Markdown renders cleanly on GitHub.
  • Cross-references to docs/architecture/parallelization.md, docs/audits/async-ssh-transport.md, docs/audits/tokio-dependency-boundary-2026.md, docs/design/async-migration-plan.md, docs/design/async-channel-abstraction.md, docs/design/arc-wrapped-worksender-multi-producer.md, and docs/design/multi-producer-workqueue.md resolve.
  • Source-line citations (`generator/transfer.rs:696`, `receiver/transfer/pipeline.rs:38`, `disk_commit/thread.rs:47-64,172-234`, `pipeline/spsc.rs:1-120`) match the current tree.

@github-actions github-actions Bot added the documentation Improvements or additions to documentation label May 7, 2026
@oferchen oferchen merged commit db90eb2 into master May 7, 2026
8 checks passed
@oferchen oferchen deleted the docs/actor-pattern-2136 branch May 8, 2026 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant