t_rust_less_lib/service/
windows.rs

1use std::io::ErrorKind;
2
3use crate::service::remote::RemoteTrustlessService;
4use crate::service::{ServiceResult, TrustlessService};
5use named_pipe::PipeClient;
6
7pub const DAEMON_PIPE_NAME: &str = r"\\.\pipe\t-rust-less";
8
9pub fn try_remote_service() -> ServiceResult<Option<impl TrustlessService>> {
10  let stream = match PipeClient::connect(DAEMON_PIPE_NAME) {
11    Ok(pipe) => pipe,
12    Err(error) if error.kind() == ErrorKind::NotFound => return Ok(None),
13    Err(error) => return Err(error.into()),
14  };
15
16  Ok(Some(RemoteTrustlessService::new(stream)))
17}