Struct turbulence::reliable_channel::Settings
source · [−]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
impl StructuralPartialEq for Settings
Auto Trait Implementations
impl RefUnwindSafe for Settings
impl Send for Settings
impl Sync for Settings
impl Unpin for Settings
impl UnwindSafe for Settings
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more