#[derive(Copy, Clone, Debug, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct CommonListenOptions {
#[builder(default)]
pub(crate) send_buffer_size: Option<usize>,
#[builder(default)]
pub(crate) recv_buffer_size: Option<usize>,
}
impl CommonListenOptions {
pub fn builder() -> CommonListenOptionsBuilder {
Default::default()
}
}
impl Default for CommonListenOptions {
fn default() -> Self {
Self::builder()
.build()
.expect("Default builder values panicked")
}
}
#[derive(Copy, Clone, Debug, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct TcpListenOptions {
#[builder(sub_builder)]
pub(crate) common: CommonListenOptions,
}
impl TcpListenOptions {
pub fn builder() -> TcpListenOptionsBuilder {
Default::default()
}
}
impl Default for TcpListenOptions {
fn default() -> Self {
Self::builder()
.build()
.expect("Default builder values panicked")
}
}
#[derive(Copy, Clone, Debug, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct UnixListenOptions {}
impl UnixListenOptions {
pub fn builder() -> UnixListenOptionsBuilder {
Default::default()
}
}
impl Default for UnixListenOptions {
fn default() -> Self {
Self::builder()
.build()
.expect("Default builder values panicked")
}
}
#[cfg(test)]
mod test {
#![allow(clippy::bool_assert_comparison)]
#![allow(clippy::clone_on_copy)]
#![allow(clippy::dbg_macro)]
#![allow(clippy::mixed_attributes_style)]
#![allow(clippy::print_stderr)]
#![allow(clippy::print_stdout)]
#![allow(clippy::single_char_pattern)]
#![allow(clippy::unwrap_used)]
#![allow(clippy::unchecked_time_subtraction)]
#![allow(clippy::useless_vec)]
#![allow(clippy::needless_pass_by_value)]
use super::*;
#[test]
fn builder_defaults() {
CommonListenOptions::default();
TcpListenOptions::default();
UnixListenOptions::default();
}
}