#[derive(Copy, Clone, Debug, PartialEq, Eq, 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()
}
}
#[allow(clippy::derivable_impls)]
impl Default for CommonListenOptions {
fn default() -> Self {
Self {
send_buffer_size: None,
recv_buffer_size: None,
}
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, 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()
}
}
#[allow(clippy::derivable_impls)]
impl Default for TcpListenOptions {
fn default() -> Self {
Self {
common: CommonListenOptions::default(),
}
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct UnixListenOptions {}
impl UnixListenOptions {
pub fn builder() -> UnixListenOptionsBuilder {
Default::default()
}
}
#[allow(clippy::derivable_impls)]
impl Default for UnixListenOptions {
fn default() -> Self {
Self {}
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct CommonConnectOptions {
#[builder(default)]
pub(crate) send_buffer_size: Option<usize>,
#[builder(default)]
pub(crate) recv_buffer_size: Option<usize>,
}
impl CommonConnectOptions {
pub fn builder() -> CommonConnectOptionsBuilder {
Default::default()
}
}
#[allow(clippy::derivable_impls)]
impl Default for CommonConnectOptions {
fn default() -> Self {
Self {
send_buffer_size: None,
recv_buffer_size: None,
}
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct TcpConnectOptions {
#[builder(sub_builder)]
pub(crate) common: CommonConnectOptions,
}
impl TcpConnectOptions {
pub fn builder() -> TcpConnectOptionsBuilder {
Default::default()
}
}
#[allow(clippy::derivable_impls)]
impl Default for TcpConnectOptions {
fn default() -> Self {
Self {
common: CommonConnectOptions::default(),
}
}
}
#[derive(Copy, Clone, Debug, PartialEq, Eq, derive_builder::Builder, amplify::Getters)]
#[non_exhaustive]
pub struct UnixConnectOptions {}
impl UnixConnectOptions {
pub fn builder() -> UnixConnectOptionsBuilder {
Default::default()
}
}
#[allow(clippy::derivable_impls)]
impl Default for UnixConnectOptions {
fn default() -> Self {
Self {}
}
}
#[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)]
#![allow(clippy::string_slice)]
use super::*;
#[test]
fn builder_defaults() {
macro_rules! check {
($type:tt) => {
assert_eq!($type::builder().build().unwrap(), $type::default());
};
}
check!(CommonListenOptions);
check!(TcpListenOptions);
check!(UnixListenOptions);
check!(CommonConnectOptions);
check!(TcpConnectOptions);
check!(UnixConnectOptions);
}
}