#[non_exhaustive]pub struct UserOptions {
pub unix_listen_unlink: bool,
pub unix_listen_chmod: Option<UnixChmodVariant>,
pub unix_listen_uid: Option<u32>,
pub unix_listen_gid: Option<u32>,
pub sd_accept_ignore_environment: bool,
pub tcp_keepalive: Option<TcpKeepaliveParams>,
pub tcp_reuse_port: bool,
pub recv_buffer_size: Option<usize>,
pub send_buffer_size: Option<usize>,
pub tcp_only_v6: bool,
pub tcp_listen_backlog: Option<u32>,
}
Expand description
User options that supplement listening address.
With clap
crate feature, this struct can be clap(flatten)
-ed directly into your primary command line parameters.
With serde
crate feature, it supportes serialisation and deserialisation.
Create instances with Default::default()
and modify available fields.
Non-relevant options are ignored by [Listener::bind
].
All options are always available regardless of current platform, but may be hidden from –help.
Disabling related crate features removes them for good though.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.unix_listen_unlink: bool
remove UNIX socket prior to binding to it
unix_listen_chmod: Option<UnixChmodVariant>
change filesystem mode of the newly bound UNIX socket to owner
, group
or everybody
unix_listen_uid: Option<u32>
change owner user of the newly bound UNIX socket to this numeric uid
unix_listen_gid: Option<u32>
change owner group of the newly bound UNIX socket to this numeric uid
sd_accept_ignore_environment: bool
ignore environment variables like LISTEN_PID or LISTEN_FDS and unconditionally use
file descritor 3
as a socket in sd-listen or sd-listen-unix modes
tcp_keepalive: Option<TcpKeepaliveParams>
set SO_KEEPALIVE settings for each accepted TCP connection.
Value is a colon-separated triplet of time_ms:count:interval_ms, each of which is optional.
tcp_reuse_port: bool
Try to set SO_REUSEPORT, so that multiple processes can accept connections from the same port in a round-robin fashion
recv_buffer_size: Option<usize>
Set socket’s SO_RCVBUF value.
send_buffer_size: Option<usize>
Set socket’s SO_SNDBUF value.
tcp_only_v6: bool
Set socket’s IPV6_V6ONLY to true, to avoid receiving IPv4 connections on IPv6 socket.
tcp_listen_backlog: Option<u32>
Maximum number of pending unaccepted connections
Trait Implementations§
source§impl Args for UserOptions
impl Args for UserOptions
source§fn augment_args<'b>(__clap_app: Command) -> Command
fn augment_args<'b>(__clap_app: Command) -> Command
source§fn augment_args_for_update<'b>(__clap_app: Command) -> Command
fn augment_args_for_update<'b>(__clap_app: Command) -> Command
Command
so it can instantiate self
via
FromArgMatches::update_from_arg_matches_mut
Read moresource§impl Debug for UserOptions
impl Debug for UserOptions
source§impl Default for UserOptions
impl Default for UserOptions
source§fn default() -> UserOptions
fn default() -> UserOptions
source§impl FromArgMatches for UserOptions
impl FromArgMatches for UserOptions
source§fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>
source§fn from_arg_matches_mut(
__clap_arg_matches: &mut ArgMatches,
) -> Result<Self, Error>
fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>
source§fn update_from_arg_matches(
&mut self,
__clap_arg_matches: &ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.source§fn update_from_arg_matches_mut(
&mut self,
__clap_arg_matches: &mut ArgMatches,
) -> Result<(), Error>
fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>
ArgMatches
to self
.Auto Trait Implementations§
impl Freeze for UserOptions
impl RefUnwindSafe for UserOptions
impl Send for UserOptions
impl Sync for UserOptions
impl Unpin for UserOptions
impl UnwindSafe for UserOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request