Skip to main content

tool_worker

Function tool_worker 

Source
pub async fn tool_worker(
    jobs: SharedJobRx,
    results: UnboundedSender<ToolOutcome>,
    wake: Arc<Notify>,
)
Expand description

One tool worker: pulls ToolJobs from the shared channel and runs them, reporting each outcome and waking the tick loop. Holds the receiver lock only across recv() (so sibling workers can run their exec().await in parallel), then releases it before executing. Returns when the job channel is closed (all senders dropped - i.e. the world is shutting down).