mod error;
mod subprocess_transport;
#[cfg(test)]
pub(crate) mod mock_transport;
pub use error::ProviderTransportError;
pub(crate) use subprocess_transport::SubprocessTransport;
use async_trait::async_trait;
use std::time::Duration;
#[async_trait]
pub(crate) trait ProviderTransport: std::fmt::Debug + Send + Sync {
async fn exchange(
&self,
request: &str,
timeout_dur: Duration,
) -> Result<String, ProviderTransportError>;
}