comparison src/error.rs @ 28:cfef4593e207

Run `cargo fmt`.
author Paul Fisher <paul@pfish.zone>
date Sat, 19 Apr 2025 01:33:50 -0400
parents 1941e9d9819c
children
comparison
equal deleted inserted replaced
27:85b0f4a7303d 28:cfef4593e207
1 //! Error types that can occur when dealing with `SocketAddr` 1 //! Error types that can occur when dealing with `SocketAddr`
2 //! 2 //!
3 //! This module separates the error types from root module to avoid clutter. 3 //! This module separates the error types from root module to avoid clutter.
4 4
5
6 use thiserror::Error;
7 use std::fmt; 5 use std::fmt;
8 use std::io; 6 use std::io;
7 use thiserror::Error;
9 8
10 /// Error returned when the library initialization fails. 9 /// Error returned when the library initialization fails.
11 #[derive(Debug)] 10 #[derive(Debug)]
12 pub struct InitError(pub(crate) InitErrorInner); 11 pub struct InitError(pub(crate) InitErrorInner);
13 12
44 pub(crate) enum ParseErrorInner { 43 pub(crate) enum ParseErrorInner {
45 #[error("failed to parse socket address")] 44 #[error("failed to parse socket address")]
46 ResolvAddr(#[from] crate::resolv_addr::ResolvAddrError), 45 ResolvAddr(#[from] crate::resolv_addr::ResolvAddrError),
47 #[cfg(all(target_os = "linux", feature = "enable_systemd"))] 46 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
48 #[error("invalid character '{c}' in systemd socket name {string} at position {pos}")] 47 #[error("invalid character '{c}' in systemd socket name {string} at position {pos}")]
49 InvalidCharacter { string: String, c: char, pos: usize, }, 48 InvalidCharacter { string: String, c: char, pos: usize },
50 #[cfg(all(target_os = "linux", feature = "enable_systemd"))] 49 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
51 #[error("systemd socket name {string} is {len} characters long which is more than the limit 255")] 50 #[error(
52 LongSocketName { string: String, len: usize, }, 51 "systemd socket name {string} is {len} characters long which is more than the limit 255"
52 )]
53 LongSocketName { string: String, len: usize },
53 #[cfg(not(all(target_os = "linux", feature = "enable_systemd")))] 54 #[cfg(not(all(target_os = "linux", feature = "enable_systemd")))]
54 #[cfg_attr(not(target_os = "linux"), error("can't parse {0} because systemd is not supported on this operating system"))] 55 #[cfg_attr(
55 #[cfg_attr(target_os = "linux", error("can't parse {0} because systemd support was disabled during build"))] 56 not(target_os = "linux"),
57 error("can't parse {0} because systemd is not supported on this operating system")
58 )]
59 #[cfg_attr(
60 target_os = "linux",
61 error("can't parse {0} because systemd support was disabled during build")
62 )]
56 SystemdUnsupported(String), 63 SystemdUnsupported(String),
57 } 64 }
58 65
59 /// Error that can occur during parsing of `SocketAddr` from a `OsStr`/`OsString` 66 /// Error that can occur during parsing of `SocketAddr` from a `OsStr`/`OsString`
60 /// 67 ///
86 pub struct BindError(#[from] pub(crate) BindErrorInner); 93 pub struct BindError(#[from] pub(crate) BindErrorInner);
87 94
88 #[derive(Debug, Error)] 95 #[derive(Debug, Error)]
89 pub(crate) enum BindErrorInner { 96 pub(crate) enum BindErrorInner {
90 #[error("failed to bind {addr}")] 97 #[error("failed to bind {addr}")]
91 BindFailed { addr: std::net::SocketAddr, #[source] error: io::Error, }, 98 BindFailed {
99 addr: std::net::SocketAddr,
100 #[source]
101 error: io::Error,
102 },
92 #[error("failed to bind {addr}")] 103 #[error("failed to bind {addr}")]
93 BindOrResolvFailed { addr: crate::resolv_addr::ResolvAddr, #[source] error: io::Error, }, 104 BindOrResolvFailed {
105 addr: crate::resolv_addr::ResolvAddr,
106 #[source]
107 error: io::Error,
108 },
94 #[cfg(all(target_os = "linux", feature = "enable_systemd"))] 109 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
95 #[error("failed to receive descriptors with names")] 110 #[error("failed to receive descriptors with names")]
96 ReceiveDescriptors(#[source] crate::systemd_sockets::Error), 111 ReceiveDescriptors(#[source] crate::systemd_sockets::Error),
97 #[error("missing systemd socket {0} - a typo or an attempt to bind twice")] 112 #[error("missing systemd socket {0} - a typo or an attempt to bind twice")]
98 #[cfg(all(target_os = "linux", feature = "enable_systemd"))] 113 #[cfg(all(target_os = "linux", feature = "enable_systemd"))]
127 pub struct TokioConversionError { 142 pub struct TokioConversionError {
128 pub(crate) addr: crate::SocketAddrInner, 143 pub(crate) addr: crate::SocketAddrInner,
129 #[source] 144 #[source]
130 pub(crate) error: io::Error, 145 pub(crate) error: io::Error,
131 } 146 }
132