async_ssh2_lite/
util.rs
1use std::{
2 io::{Error as IoError, ErrorKind as IoErrorKind},
3 net::SocketAddr,
4};
5
6use ssh2::Error as Ssh2Error;
7
8pub fn ssh2_error_is_would_block(err: &Ssh2Error) -> bool {
10 IoError::from(Ssh2Error::from_errno(err.code())).kind() == IoErrorKind::WouldBlock
11}
12
13#[derive(Debug, Clone)]
15pub enum ConnectInfo {
16 Tcp(SocketAddr),
17 #[cfg(unix)]
18 Unix(Box<std::path::Path>),
19}
20
21impl ConnectInfo {
22 pub fn with_tcp(addr: impl Into<SocketAddr>) -> Self {
23 Self::Tcp(addr.into())
24 }
25
26 #[cfg(unix)]
27 pub fn with_unix(path: impl AsRef<std::path::Path>) -> Self {
28 Self::Unix(path.as_ref().into())
29 }
30}