async fn run_with_respawn(
state: &Arc<ServerState>,
tool: &str,
selector: &str,
method: &str,
params: Value,
) -> Result<(Value, AddressCanonicalizer), ErrorEnvelope>Expand description
Acquire the worker mutex and run the RPC. On a transport crash, respawn OUTSIDE the lock (R3 seat-G) and retry once; a second crash on the same request poisons the selector (§4.3). Attach state commits atomically under the lock (R2 seat-C).