pub struct ConnectorOptions {
pub ca_file: Option<String>,
pub cert_key_file: Option<(String, String)>,
pub debug_ssl_keylog: bool,
pub keepalive_pool_size: usize,
pub offload_threadpool: Option<(usize, usize)>,
pub bind_to_v4: Vec<SocketAddr>,
pub bind_to_v6: Vec<SocketAddr>,
}Expand description
The options to configure a TransportConnector
Fields§
§ca_file: Option<String>Path to the CA file used to validate server certs.
If None, the CA in the default
locations will be loaded
cert_key_file: Option<(String, String)>The default client cert and key to use for mTLS
Each individual connection can use their own cert key to override this.
debug_ssl_keylog: boolWhen enabled allows TLS keys to be written to a file specified by the SSLKEYLOG env variable. This can be used by tools like Wireshark to decrypt traffic for debugging purposes.
keepalive_pool_size: usizeHow many connections to keepalive
offload_threadpool: Option<(usize, usize)>Optionally offload the connection establishment to dedicated thread pools
TCP and TLS connection establishment can be CPU intensive. Sometimes such tasks can slow down the entire service, which causes timeouts which leads to more connections which snowballs the issue. Use this option to isolate these CPU intensive tasks from impacting other traffic.
Syntax: (#pools, #thread in each pool)
bind_to_v4: Vec<SocketAddr>Bind to any of the given source IPv6 addresses
bind_to_v6: Vec<SocketAddr>Bind to any of the given source IPv4 addresses
Implementations§
Source§impl ConnectorOptions
impl ConnectorOptions
Sourcepub fn from_server_conf(server_conf: &ServerConf) -> ConnectorOptions
pub fn from_server_conf(server_conf: &ServerConf) -> ConnectorOptions
Derive the ConnectorOptions from a ServerConf
Sourcepub fn new(keepalive_pool_size: usize) -> ConnectorOptions
pub fn new(keepalive_pool_size: usize) -> ConnectorOptions
Create a new ConnectorOptions with the given keepalive pool size
Trait Implementations§
Source§impl Clone for ConnectorOptions
impl Clone for ConnectorOptions
Source§fn clone(&self) -> ConnectorOptions
fn clone(&self) -> ConnectorOptions
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for ConnectorOptions
impl RefUnwindSafe for ConnectorOptions
impl Send for ConnectorOptions
impl Sync for ConnectorOptions
impl Unpin for ConnectorOptions
impl UnwindSafe for ConnectorOptions
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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§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> 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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.