use std::time::Duration;
pub mod net;
pub use net::{Net, NetError, NetKind, NetMessage};
pub mod unix;
pub use unix::{Unix, UnixError, UnixMessage};
pub mod wire;
pub use wire::{Wire, WireConnector};
pub mod mock;
use dsf_core::prelude::*;
use crate::error::Error;
#[async_trait]
pub trait Connector {
async fn request(
&self,
req_id: RequestId,
target: Address,
req: NetRequest,
timeout: Duration,
) -> Result<NetResponse, Error>;
async fn respond(
&self,
req_id: RequestId,
target: Address,
resp: NetResponse,
) -> Result<(), Error>;
}