comparison src/error.rs @ 16:bc76507dd878

Fixed conditional compilation based on OS A mistake was causing systemd to never enable and the tests were too clever to detect that. Not sure what to do with it.
author Martin Habovstiak <martin.habovstiak@gmail.com>
date Tue, 22 Dec 2020 13:58:47 +0100
parents f740dadd2948
children f6334887e3c8
comparison
equal deleted inserted replaced
15:08b37039504b 16:bc76507dd878
17 17
18 #[derive(Debug, Error)] 18 #[derive(Debug, Error)]
19 pub(crate) enum ParseErrorInner { 19 pub(crate) enum ParseErrorInner {
20 #[error("failed to parse socket address")] 20 #[error("failed to parse socket address")]
21 ResolvAddr(#[from] crate::resolv_addr::ResolvAddrError), 21 ResolvAddr(#[from] crate::resolv_addr::ResolvAddrError),
22 #[cfg(all(linux, feature = "enable_systemd"))] 22 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
23 #[error("invalid character '{c}' in systemd socket name {string} at position {pos}")] 23 #[error("invalid character '{c}' in systemd socket name {string} at position {pos}")]
24 InvalidCharacter { string: String, c: char, pos: usize, }, 24 InvalidCharacter { string: String, c: char, pos: usize, },
25 #[cfg(all(linux, feature = "enable_systemd"))] 25 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
26 #[error("systemd socket name {string} is {len} characters long which is more than the limit 255")] 26 #[error("systemd socket name {string} is {len} characters long which is more than the limit 255")]
27 LongSocketName { string: String, len: usize, }, 27 LongSocketName { string: String, len: usize, },
28 #[cfg(not(all(linux, feature = "enable_systemd")))] 28 #[cfg(not(all(target_os = "linux", feature = "enable_systemd")))]
29 #[cfg_attr(not(linux), error("can't parse {0} because systemd is not supported on this operating system"))] 29 #[cfg_attr(not(target_os = "linux"), error("can't parse {0} because systemd is not supported on this operating system"))]
30 #[cfg_attr(linux, error("can't parse {0} because systemd support was disabled during build"))] 30 #[cfg_attr(target_os = "linux", error("can't parse {0} because systemd support was disabled during build"))]
31 SystemdUnsupported(String), 31 SystemdUnsupported(String),
32 } 32 }
33 33
34 /// Error that can occur during parsing of `SocketAddr` from a `OsStr`/`OsString` 34 /// Error that can occur during parsing of `SocketAddr` from a `OsStr`/`OsString`
35 /// 35 ///
64 pub(crate) enum BindErrorInner { 64 pub(crate) enum BindErrorInner {
65 #[error("failed to bind {addr}")] 65 #[error("failed to bind {addr}")]
66 BindFailed { addr: std::net::SocketAddr, #[source] error: io::Error, }, 66 BindFailed { addr: std::net::SocketAddr, #[source] error: io::Error, },
67 #[error("failed to bind {addr}")] 67 #[error("failed to bind {addr}")]
68 BindOrResolvFailed { addr: crate::resolv_addr::ResolvAddr, #[source] error: io::Error, }, 68 BindOrResolvFailed { addr: crate::resolv_addr::ResolvAddr, #[source] error: io::Error, },
69 #[cfg(all(linux, feature = "enable_systemd"))] 69 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
70 #[error("failed to receive descriptors with names")] 70 #[error("failed to receive descriptors with names")]
71 ReceiveDescriptors(#[source] crate::systemd_sockets::Error), 71 ReceiveDescriptors(#[source] crate::systemd_sockets::Error),
72 #[error("missing systemd socket {0} - a typo or an attempt to bind twice")] 72 #[error("missing systemd socket {0} - a typo or an attempt to bind twice")]
73 #[cfg(all(linux, feature = "enable_systemd"))] 73 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
74 MissingDescriptor(String), 74 MissingDescriptor(String),
75 #[error("the systemd socket {0} is not an internet socket")] 75 #[error("the systemd socket {0} is not an internet socket")]
76 #[cfg(all(linux, feature = "enable_systemd"))] 76 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
77 NotInetSocket(String), 77 NotInetSocket(String),
78 } 78 }
79 79
80 /// Error that can happen when binding Tokio socket. 80 /// Error that can happen when binding Tokio socket.
81 /// 81 ///