MCPcopy Create free account
hub / github.com/PerroEngine/Perro / http_worker

Function http_worker

perro_source/api_modules/perro_networking/src/http.rs:425–433  ·  view source on GitHub ↗
(config: HttpConfig, work_rx: Receiver<HttpWork>, event_tx: Sender<HttpEvent>)

Source from the content-addressed store, hash-verified

423 let (work_tx, work_rx) = mpsc::sync_channel::<HttpWork>(queue_config.request_capacity);
424 let (event_tx, event_rx) = mpsc::sync_channel::<HttpEvent>(queue_config.event_capacity);
425 let work_rx = Arc::new(Mutex::new(work_rx));
426 let shared_agent = build_agent(&config).ok();
427 for worker_index in 0..queue_config.worker_count {
428 let worker_config = config.clone();
429 let worker_rx = Arc::clone(&work_rx);
430 let worker_event_tx = event_tx.clone();
431 let worker_agent = shared_agent.clone();
432 thread::Builder::new()
433 .name(format!("perro-http-{worker_index}"))
434 .spawn(move || http_worker(worker_config, worker_rx, worker_event_tx, worker_agent))
435 .expect("failed to spawn HTTP worker");
436 }

Callers 1

with_configMethod · 0.85

Calls 5

build_agentFunction · 0.85
run_http_workFunction · 0.85
okMethod · 0.80
sendMethod · 0.80
as_refMethod · 0.45

Tested by

no test coverage detected