pingora_core::connectors

Struct ConnectorOptions

Source
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: bool

When 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: usize

How 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

Source

pub fn from_server_conf(server_conf: &ServerConf) -> Self

Derive the ConnectorOptions from a ServerConf

Source

pub fn new(keepalive_pool_size: usize) -> Self

Create a new ConnectorOptions with the given keepalive pool size

Trait Implementations§

Source§

impl Clone for ConnectorOptions

Source§

fn clone(&self) -> ConnectorOptions

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more