caldir_core/provider/transport/
error.rs1use std::{path::PathBuf, time::Duration};
2
3#[derive(Debug, thiserror::Error)]
4#[non_exhaustive]
5pub enum ProviderTransportError {
6 #[error("failed to spawn provider executable {0}")]
7 SpawnBinary(PathBuf, #[source] std::io::Error),
8
9 #[error("failed to spawn provider")]
10 Spawn(#[source] std::io::Error),
11
12 #[error("failed to exchange with provider")]
13 Io(#[source] std::io::Error),
14
15 #[error("Provider response was not valid UTF-8")]
16 BadUtf8,
17
18 #[error("Provider returned no response")]
19 EmptyResponse,
20
21 #[error("Provider exited with status {code:?}")]
22 NonZeroExit { code: Option<i32> },
23
24 #[error("Provider timed out after {0:?}")]
25 Timeout(Duration),
26}