pub struct SystemConfig {
    pub connect_interval: Option<u64>,
    pub tcp_nodelay: Option<bool>,
    pub wait_for_first_attempt: Option<bool>,
    pub watchdog_factor: Option<f32>,
    pub add_forwarded: Option<bool>,
}
Expand description

Limits, timeouts, intervals and other parameters that affect operation of ptproxy. This includes proxy behavior, integration with the service manager, and interaction with HTTP/1.1 upstreams / downstreams.

Fields§

§connect_interval: Option<u64>

Time to wait since last QUIC connection [attempt] failed before attempting a new connection, in milliseconds. Only used in client mode.
Default: 1000

§tcp_nodelay: Option<bool>

Whether to enable the TCP_NODELAY option on incoming (client mode) or outgoing (server mode) HTTP/1.1 sockets. This helps avoid extra latency introduced by delayed ACKs, for example.
Default: true

§wait_for_first_attempt: Option<bool>

If enabled and service manager integration is in use, ptproxy will wait for the first connection attempt to finish (successfully or not) before sending signalling the service as ready. This gives a best-effort opportunity for the tunnel to establish before starting dependencies, for example. Only used in client mode.
Default: true

§watchdog_factor: Option<f32>

If service manager integration is in use, and this service has been requested to send periodic keepalives, the watchdog timeout limit is divided by this factor to determine the interval at which to send them.
Default: 1.5

§add_forwarded: Option<bool>

If enabled, a Forwarded header will be appended to the request before forwarding it.
Default: false

Trait Implementations§

source§

impl Debug for SystemConfig

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for SystemConfig

source§

fn default() -> SystemConfig

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for SystemConfig

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.
§

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

§

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
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,