pub struct Settings {
    pub bandwidth: u32,
    pub burst_bandwidth: u32,
    pub recv_window_size: u32,
    pub send_window_size: u32,
    pub init_send: u32,
    pub resend_time: Duration,
    pub initial_rtt: Duration,
    pub max_rtt: Duration,
    pub rtt_update_factor: f64,
    pub rtt_resend_factor: f64,
}

Fields

bandwidth: u32

The target outgoing bandwidth, in bytes / sec.

This is the target bandwidth usage for all sent packets, not the target bandwidth for the actual underlying stream. Both sends and resends (but not currently acks) count against this bandwidth limit, so this is designed to limit the amount of traffic this channel produces.

burst_bandwidth: u32

The maximum amount of bandwidth credit that can accumulate. This is the maximum bytes that will be sent in a single burst.

recv_window_size: u32

The size of the incoming ring buffer.

send_window_size: u32

The size of the outgoing ring buffer.

init_send: u32

The sending side of a channel will always send a constant amount of bytes more than what it believes the remote’s recv window actually is, to avoid stalling the connection. This controls the amount past the recv window which will be sent, and also the initial amount of data that will be sent when the connection starts up.

resend_time: Duration

The transmission task for the channel will wake up at this rate to do resends, if not woken up to send other data.

initial_rtt: Duration

The initial estimate for the RTT.

max_rtt: Duration

The maximum reasonable RTT which will be used as an upper bound for packet RTT values.

rtt_update_factor: f64

The computed RTT for each received acknowledgment will be mixed with the RTT estimate by this factor.

rtt_resend_factor: f64

Resends will occur if an acknowledgment is not received within this multiplicative factor of the estimated RTT.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The resulting type after obtaining ownership.

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

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

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.