pub enum RunnerTransportError {
FetchFailed {
endpoint: String,
source: Error,
},
NonSuccessStatus {
endpoint: String,
status: u16,
body: String,
},
NonJsonBody {
endpoint: String,
source: Error,
},
MalformedBody {
endpoint: String,
detail: String,
},
Unreachable {
endpoint: String,
message: String,
},
AppUnavailable {
endpoint: String,
target: Option<String>,
reason: Option<String>,
},
RunnerDegraded {
window: usize,
non_success_recent: usize,
last_endpoint: String,
last_error: String,
},
RunnerDied {
last_seen_ms: u64,
last_error: String,
},
}Expand description
Transport-level failure (network, non-2xx, malformed body). Mirrors
TS RunnerTransportError 1:1.
Variants§
FetchFailed
NonSuccessStatus
NonJsonBody
MalformedBody
Unreachable
The runner returned
{"ok":false,"error":"snapshot_unavailable"} (or the enriched
body with target/reason fields). This is not a network
failure — it means XCUITest could not snapshot the app the client
asked about. Callers that see this after all retries can surface
an AI-readable hint about foreground state.
RunnerDegraded
Client-side rolling-window observation: consecutive requests
have been failing (5xx, unreachable, non-JSON). The runner is
still responding to the transport, but its answers are unsound
— surfacing this instead of silently returning stale bodies is
the whole point of HttpRunnerClient::with_liveness_window.
RunnerDied
Client-side observation of a hard runner death. Triggered when a
is_connect() error fires AND a /health probe times out or
returns a non-2xx within 1 s. Distinct from
RunnerTransportError::Unreachable which fires on the initial
reachability probe; RunnerDied fires mid-session after
ensure_reachable had already succeeded.
Trait Implementations§
Source§impl Debug for RunnerTransportError
impl Debug for RunnerTransportError
Source§impl Display for RunnerTransportError
impl Display for RunnerTransportError
Source§impl Error for RunnerTransportError
impl Error for RunnerTransportError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()