Struct kumo_api_types::egress_path::EgressPathConfig
source · pub struct EgressPathConfig {Show 30 fields
pub connection_limit: usize,
pub additional_connection_limits: OrderMap<String, usize>,
pub enable_tls: Tls,
pub enable_mta_sts: bool,
pub enable_dane: bool,
pub tls_prefer_openssl: bool,
pub openssl_cipher_list: Option<String>,
pub openssl_cipher_suites: Option<String>,
pub openssl_options: Option<SslOptions>,
pub rustls_cipher_suites: Vec<SupportedCipherSuite>,
pub client_timeouts: SmtpClientTimeouts,
pub max_ready: usize,
pub consecutive_connection_failures_before_delay: usize,
pub smtp_port: u16,
pub smtp_auth_plain_username: Option<String>,
pub smtp_auth_plain_password: Option<KeySource>,
pub allow_smtp_auth_plain_without_tls: bool,
pub max_message_rate: Option<ThrottleSpec>,
pub additional_message_rate_throttles: OrderMap<String, ThrottleSpec>,
pub max_connection_rate: Option<ThrottleSpec>,
pub max_deliveries_per_connection: usize,
pub prohibited_hosts: CidrSet,
pub skip_hosts: CidrSet,
pub ehlo_domain: Option<String>,
pub suspended: bool,
pub aggressive_connection_opening: bool,
pub refresh_interval: Duration,
pub refresh_strategy: ConfigRefreshStrategy,
pub provider_name: Option<String>,
pub remember_broken_tls: Option<Duration>,
}
Fields§
§connection_limit: usize
§additional_connection_limits: OrderMap<String, usize>
§enable_tls: Tls
§enable_mta_sts: bool
§enable_dane: bool
§tls_prefer_openssl: bool
§openssl_cipher_list: Option<String>
§openssl_cipher_suites: Option<String>
§openssl_options: Option<SslOptions>
§rustls_cipher_suites: Vec<SupportedCipherSuite>
§client_timeouts: SmtpClientTimeouts
§max_ready: usize
§consecutive_connection_failures_before_delay: usize
§smtp_port: u16
§smtp_auth_plain_username: Option<String>
§smtp_auth_plain_password: Option<KeySource>
§allow_smtp_auth_plain_without_tls: bool
§max_message_rate: Option<ThrottleSpec>
§additional_message_rate_throttles: OrderMap<String, ThrottleSpec>
§max_connection_rate: Option<ThrottleSpec>
§max_deliveries_per_connection: usize
§prohibited_hosts: CidrSet
§skip_hosts: CidrSet
§ehlo_domain: Option<String>
§suspended: bool
Deprecated and unused. This used to facilitate suspension setting by the TSA-daemon, but it was very awkward to implement and manage and has been replaced by realtime suspension updates via websocket
aggressive_connection_opening: bool
§refresh_interval: Duration
How long to wait between calls to get_egress_path_config for any given ready queue. Making this longer uses fewer resources (in aggregate) but means that it will take longer to detect and adjust to changes in the queue configuration.
refresh_strategy: ConfigRefreshStrategy
§provider_name: Option<String>
Specify an explicit provider name that should apply to this path. The provider name will be used when computing metrics rollups by provider. If omitted, then
remember_broken_tls: Option<Duration>
If set, a process-local cache will be used to remember if a site has broken TLS for the duration specified. Once encountered, we will pretend that EHLO didn’t advertise STARTTLS on subsequent connection attempts.
Trait Implementations§
source§impl Clone for EgressPathConfig
impl Clone for EgressPathConfig
source§fn clone(&self) -> EgressPathConfig
fn clone(&self) -> EgressPathConfig
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for EgressPathConfig
impl Debug for EgressPathConfig
source§impl Default for EgressPathConfig
impl Default for EgressPathConfig
source§impl<'de> Deserialize<'de> for EgressPathConfig
impl<'de> Deserialize<'de> for EgressPathConfig
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl FromLua<'_> for EgressPathConfigwhere
Self: 'static + Clone,
impl FromLua<'_> for EgressPathConfigwhere
Self: 'static + Clone,
source§impl PartialEq for EgressPathConfig
impl PartialEq for EgressPathConfig
source§impl Serialize for EgressPathConfig
impl Serialize for EgressPathConfig
source§impl UserData for EgressPathConfig
impl UserData for EgressPathConfig
§fn add_fields<'lua, F>(fields: &mut F)where
F: UserDataFields<'lua, Self>,
fn add_fields<'lua, F>(fields: &mut F)where
F: UserDataFields<'lua, Self>,
§fn add_methods<'lua, M>(methods: &mut M)where
M: UserDataMethods<'lua, Self>,
fn add_methods<'lua, M>(methods: &mut M)where
M: UserDataMethods<'lua, Self>,
impl StructuralPartialEq for EgressPathConfig
Auto Trait Implementations§
impl Freeze for EgressPathConfig
impl !RefUnwindSafe for EgressPathConfig
impl Send for EgressPathConfig
impl Sync for EgressPathConfig
impl Unpin for EgressPathConfig
impl !UnwindSafe for EgressPathConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<'lua, T> FromLuaMulti<'lua> for Twhere
T: FromLua<'lua>,
impl<'lua, T> FromLuaMulti<'lua> for Twhere
T: FromLua<'lua>,
§fn from_lua_multi(values: MultiValue<'lua>, lua: &'lua Lua) -> Result<T, Error>
fn from_lua_multi(values: MultiValue<'lua>, lua: &'lua Lua) -> Result<T, Error>
fn from_lua_args( args: MultiValue<'lua>, i: usize, to: Option<&str>, lua: &'lua Lua, ) -> Result<T, Error>
unsafe fn from_stack_multi(nvals: i32, lua: &'lua Lua) -> Result<T, Error>
unsafe fn from_stack_args( nargs: i32, i: usize, to: Option<&str>, lua: &'lua Lua, ) -> Result<T, Error>
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more