How isekaishy-jpg/solworker works
Solworker is a Rust CPU-work runtime. Callers configure and start a runtime, then submit borrowed parallel work or owned jobs; the runtime executes accepted work and exposes completion, progress, and shutdown. Owned jobs add admission, dependencies, and work groups. Separate host-thread owner phases deliver callbacks, while external-provider access distinguishes logical task outcomes from proof that physical resources are safe to reclaim. The README was empty, so product capabilities and relationships are based on crate-level documentation and sampled source; unsampled subsystem links are omitted where wiring is uncertain.
Main entry points: scheduler.rs Owned scheduler · execution.rs Parallel APIs · runtime.rs Runtime API · micropool.rs Worker pools
Components 21
Runtime
- Runtime API
src/runtime.rs - Configuration
src/runtime/config.rs - Lifecycle control
src/runtime/lifecycle.rs - Worker pools
src/backend/micropool.rs - Progress snapshots
src/progress.rs
CPU execution
- Parallel APIs
src/execution.rs - Indexed batches
src/execution/batch.rs - Scoped work
src/execution/scope.rs - Owner overlap
src/execution/delivery.rs
Owned work
- Owned scheduler
src/scheduler.rs - Admission policy
src/scheduler/admission.rs - Task results
src/task.rs - Completion state
src/task/completion.rs - Dependencies
src/task/dependency.rs - Work groups
src/execution/group.rs
Host and providers
- Owner phases
src/owner.rs - Delivery transport
src/owner/delivery.rs - Notifications
src/notification.rs - External access
src/external.rs - Physical retention
src/external/physical.rs
Other components
- Caller
Connections 28
- Caller → Runtime API: builds runtime
- Runtime API → Configuration: uses settings
- Runtime API → Lifecycle control: starts and closes
- Lifecycle control → Worker pools: builds and stops
- Caller → Parallel APIs: submits work
- Parallel APIs → Indexed batches: invokes batches
- Parallel APIs → Scoped work: runs scoped work
- Parallel APIs → Owner overlap: runs owner branch
- Indexed batches → Worker pools: dispatches work
- Scoped work → Worker pools: joins work
- Caller → Owned scheduler: submits owned jobs
- Owned scheduler → Admission policy: checks capacity
- Owned scheduler → Worker pools: dispatches jobs
- Owned scheduler → Completion state: publishes outcomes
- Owned scheduler → Work groups: tracks group work
- Task results → Completion state: observes results
- Task results → Dependencies: registers continuations
- Dependencies → Owned scheduler: submits successors
- Caller → Owner phases: services phases
- Owned scheduler → Delivery transport: reserves delivery
- Owner phases → Delivery transport: receives notifications
- Caller → External access: prepares access
- External access → Owned scheduler: admits provider work
- External access → Physical retention: activates resource
- Caller → Notifications: binds routes
- Completion state → Notifications: publishes changes
- Caller → Progress snapshots: reads snapshots
- Progress snapshots → Runtime API: observes runtime