pub struct NetworkStats {
pub send_queue_len: usize,
pub ping: u128,
pub kbps_sent: usize,
pub local_frames_behind: i32,
pub remote_frames_behind: i32,
pub last_compared_frame: Option<Frame>,
pub local_checksum: Option<u128>,
pub remote_checksum: Option<u128>,
pub checksums_match: Option<bool>,
}Expand description
The NetworkStats struct contains statistics about the current session.
Fields§
§send_queue_len: usizeThe length of the queue containing UDP packets which have not yet been acknowledged by the end client. The length of the send queue is a rough indication of the quality of the connection. The longer the send queue, the higher the round-trip time between the clients. The send queue will also be longer than usual during high packet loss situations.
ping: u128The roundtrip packet transmission time as calculated by Fortress Rollback.
kbps_sent: usizeThe estimated bandwidth used between the two clients, in kilobits per second.
local_frames_behind: i32The number of frames Fortress Rollback calculates that the local client is behind the remote client at this instant in time. For example, if at this instant the current game client is running frame 1002 and the remote game client is running frame 1009, this value will mostly likely roughly equal 7.
remote_frames_behind: i32The same as local_frames_behind, but calculated from the perspective of the remote player.
last_compared_frame: Option<Frame>The most recent frame for which checksums were compared between peers.
This is None if no checksum comparison has occurred yet (e.g., early
in the session or if desync detection is disabled).
local_checksum: Option<u128>The local checksum at last_compared_frame.
This is the checksum computed locally from the saved game state at that frame.
Compare with remote_checksum to check for desync.
remote_checksum: Option<u128>The remote checksum at last_compared_frame.
This is the checksum received from the remote peer for that frame.
Compare with local_checksum to check for desync.
checksums_match: Option<bool>Whether checksums matched at the most recently compared frame.
This is a convenience field derived from comparing local_checksum
and remote_checksum. It is None if no comparison has occurred.
Some(true)- Checksums match, peers are synchronizedSome(false)- DESYNC DETECTED - game state has divergedNone- No comparison available yet
Implementations§
Source§impl NetworkStats
impl NetworkStats
Trait Implementations§
Source§impl Clone for NetworkStats
impl Clone for NetworkStats
Source§fn clone(&self) -> NetworkStats
fn clone(&self) -> NetworkStats
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more