tokio_listener/
options.rs1#[cfg_attr(feature = "clap", derive(clap::Args))]
2#[cfg_attr(feature = "serde", derive(serde::Deserialize, serde::Serialize))]
3#[allow(clippy::struct_excessive_bools, clippy::doc_markdown)]
4#[derive(Debug, Default)]
5#[non_exhaustive]
6pub struct UserOptions {
19 #[cfg(feature = "unix_path_tools")]
20 #[cfg_attr(docsrs_alt, doc(cfg(feature = "unix_path_tools")))]
21 #[cfg_attr(feature = "clap", clap(long))]
23 #[cfg_attr(feature = "serde", serde(default))]
24 #[cfg_attr(all(feature = "clap", not(unix)), clap(hide = true))]
25 pub unix_listen_unlink: bool,
26
27 #[cfg(feature = "unix_path_tools")]
28 #[cfg_attr(docsrs_alt, doc(cfg(feature = "unix_path_tools")))]
29 #[cfg_attr(feature = "clap", clap(long))]
31 #[cfg_attr(all(feature = "clap", not(unix)), clap(hide = true))]
32 #[cfg_attr(feature = "serde", serde(default))]
33 pub unix_listen_chmod: Option<crate::UnixChmodVariant>,
34
35 #[cfg(feature = "unix_path_tools")]
36 #[cfg_attr(docsrs_alt, doc(cfg(feature = "unix_path_tools")))]
37 #[cfg_attr(feature = "clap", clap(long))]
39 #[cfg_attr(feature = "serde", serde(default))]
40 #[cfg_attr(all(feature = "clap", not(unix)), clap(hide = true))]
41 pub unix_listen_uid: Option<u32>,
42
43 #[cfg(feature = "unix_path_tools")]
44 #[cfg_attr(docsrs_alt, doc(cfg(feature = "unix_path_tools")))]
45 #[cfg_attr(feature = "clap", clap(long))]
47 #[cfg_attr(feature = "serde", serde(default))]
48 #[cfg_attr(all(feature = "clap", not(unix)), clap(hide = true))]
49 pub unix_listen_gid: Option<u32>,
50
51 #[cfg(feature = "sd_listen")]
52 #[cfg_attr(docsrs_alt, doc(cfg(feature = "sd_listen")))]
53 #[cfg_attr(feature = "clap", clap(long))]
56 #[cfg_attr(feature = "serde", serde(default))]
57 #[cfg_attr(all(feature = "clap", not(unix)), clap(hide = true))]
58 pub sd_accept_ignore_environment: bool,
59
60 #[cfg(feature = "socket_options")]
61 #[cfg_attr(docsrs_alt, doc(cfg(feature = "socket_options")))]
62 #[cfg_attr(feature = "clap", clap(long))]
66 #[cfg_attr(feature = "serde", serde(default))]
67 pub tcp_keepalive: Option<crate::TcpKeepaliveParams>,
68
69 #[cfg(feature = "socket_options")]
70 #[cfg_attr(docsrs_alt, doc(cfg(feature = "socket_options")))]
71 #[cfg_attr(feature = "clap", clap(long))]
74 #[cfg_attr(feature = "serde", serde(default))]
75 pub tcp_reuse_port: bool,
76
77 #[cfg(feature = "socket_options")]
78 #[cfg_attr(docsrs_alt, doc(cfg(feature = "socket_options")))]
79 #[cfg_attr(feature = "clap", clap(long))]
81 #[cfg_attr(feature = "serde", serde(default))]
82 pub recv_buffer_size: Option<usize>,
83
84 #[cfg(feature = "socket_options")]
85 #[cfg_attr(docsrs_alt, doc(cfg(feature = "socket_options")))]
86 #[cfg_attr(feature = "clap", clap(long))]
88 #[cfg_attr(feature = "serde", serde(default))]
89 pub send_buffer_size: Option<usize>,
90
91 #[cfg(feature = "socket_options")]
92 #[cfg_attr(docsrs_alt, doc(cfg(feature = "socket_options")))]
93 #[cfg_attr(feature = "clap", clap(long))]
95 #[cfg_attr(feature = "serde", serde(default))]
96 pub tcp_only_v6: bool,
97
98 #[cfg(feature = "socket_options")]
99 #[cfg_attr(docsrs_alt, doc(cfg(feature = "socket_options")))]
100 #[cfg_attr(feature = "clap", clap(long))]
102 #[cfg_attr(feature = "serde", serde(default))]
103 pub tcp_listen_backlog: Option<u32>,
104}
105
106#[non_exhaustive]
109#[derive(Debug, Default, Clone, Copy)]
110pub struct SystemOptions {
111 pub sleep_on_errors: bool,
114
115 pub nodelay: bool,
119}