distant_net/client/builder/
unix.rs1use std::io;
2use std::path::PathBuf;
3
4use async_trait::async_trait;
5
6use super::Connector;
7use crate::common::UnixSocketTransport;
8
9pub struct UnixSocketConnector {
11 path: PathBuf,
12}
13
14impl UnixSocketConnector {
15 pub fn new(path: impl Into<PathBuf>) -> Self {
16 Self { path: path.into() }
17 }
18}
19
20impl<T: Into<PathBuf>> From<T> for UnixSocketConnector {
21 fn from(path: T) -> Self {
22 Self::new(path)
23 }
24}
25
26#[async_trait]
27impl Connector for UnixSocketConnector {
28 type Transport = UnixSocketTransport;
29
30 async fn connect(self) -> io::Result<Self::Transport> {
31 UnixSocketTransport::connect(self.path).await
32 }
33}