mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2025-02-25 18:55:32 -06:00
We should now have a timeline of when retransmits happened.
This commit is contained in:
parent
b9ad794dc5
commit
403a0e0dcd
@ -43,6 +43,10 @@ pub struct FlowbeeLocalData {
|
||||
pub rtt: [RttData; 2],
|
||||
/// Throughput Buffer
|
||||
pub throughput_buffer: Vec<DownUpOrder<u64>>,
|
||||
/// When did the retries happen? In nanoseconds since kernel boot
|
||||
pub retry_times_down: Vec<u64>,
|
||||
/// When did the retries happen? In nanoseconds since kernel boot
|
||||
pub retry_times_up: Vec<u64>,
|
||||
}
|
||||
|
||||
impl From<&FlowbeeData> for FlowbeeLocalData {
|
||||
@ -59,6 +63,8 @@ impl From<&FlowbeeData> for FlowbeeLocalData {
|
||||
flags: data.flags,
|
||||
rtt: [RttData::from_nanos(0); 2],
|
||||
throughput_buffer: vec![ data.bytes_sent ],
|
||||
retry_times_down: Vec::new(),
|
||||
retry_times_up: Vec::new(),
|
||||
}
|
||||
}
|
||||
}
|
@ -227,6 +227,13 @@ impl ThroughputTracker {
|
||||
} else {
|
||||
// We have a valid flow, so it needs to be tracked
|
||||
if let Some(this_flow) = all_flows_lock.get_mut(&key) {
|
||||
// If retransmits have changed, add the time to the retry list
|
||||
if data.tcp_retransmits.down != this_flow.0.tcp_retransmits.down {
|
||||
this_flow.0.retry_times_down.push(data.last_seen);
|
||||
}
|
||||
if data.tcp_retransmits.up != this_flow.0.tcp_retransmits.up {
|
||||
this_flow.0.retry_times_up.push(data.last_seen);
|
||||
}
|
||||
this_flow.0.last_seen = data.last_seen;
|
||||
this_flow.0.bytes_sent = data.bytes_sent;
|
||||
this_flow.0.packets_sent = data.packets_sent;
|
||||
|
Loading…
Reference in New Issue
Block a user