pub struct NetworkModel {
pub peers: HashMap<NodeId, PeerNetworkModel>,
pub latency_mean: f64,
pub jitter: f64,
pub reorder_depth: u32,
pub loss_rate: f64,
pub stability_score: f64,
}Expand description
Aggregate network model across all peers
Fields§
§peers: HashMap<NodeId, PeerNetworkModel>Per-peer models
latency_mean: f64Aggregate latency mean (seconds)
jitter: f64Aggregate jitter (seconds)
reorder_depth: u32Estimated reorder depth
loss_rate: f64Estimated loss rate (0.0 - 1.0)
stability_score: f64Overall stability score (0.0 - 1.0)
Implementations§
Source§impl NetworkModel
impl NetworkModel
pub fn new() -> Self
Sourcepub fn update_from_packet(
&mut self,
peer: NodeId,
local_time: f64,
remote_time: f64,
_seq: u16,
)
pub fn update_from_packet( &mut self, peer: NodeId, local_time: f64, remote_time: f64, _seq: u16, )
Update model from a received packet
Sourcepub fn record_reorder(&mut self, depth: u32)
pub fn record_reorder(&mut self, depth: u32)
Record a detected reorder
Sourcepub fn record_loss(&mut self, lost_count: u32, total_count: u32)
pub fn record_loss(&mut self, lost_count: u32, total_count: u32)
Record packet loss
Sourcepub fn get_peer(&self, peer: NodeId) -> Option<&PeerNetworkModel>
pub fn get_peer(&self, peer: NodeId) -> Option<&PeerNetworkModel>
Get peer model
Trait Implementations§
Source§impl Debug for NetworkModel
impl Debug for NetworkModel
Source§impl Default for NetworkModel
impl Default for NetworkModel
Source§fn default() -> NetworkModel
fn default() -> NetworkModel
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for NetworkModel
impl RefUnwindSafe for NetworkModel
impl Send for NetworkModel
impl Sync for NetworkModel
impl Unpin for NetworkModel
impl UnsafeUnpin for NetworkModel
impl UnwindSafe for NetworkModel
Blanket Implementations§
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
Mutably borrows from an owned value. Read more