File tree Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Expand file tree Collapse file tree 1 file changed +5
-2
lines changed Original file line number Diff line number Diff line change @@ -511,6 +511,7 @@ pub mod sender {
511511
512512
513513 let interval_duration = Duration :: from_secs_f32 ( self . send_interval ) ;
514+ let mut interval_iteration = 0 ;
514515 let bytes_to_send = ( ( self . test_definition . bandwidth as f32 ) * super :: INTERVAL . as_secs_f32 ( ) ) as i64 ;
515516 let mut bytes_to_send_remaining = bytes_to_send;
516517 let bytes_to_send_per_interval_slice = ( ( bytes_to_send as f32 ) * self . send_interval ) as i64 ;
@@ -567,10 +568,12 @@ pub mod sender {
567568 sleep ( super :: INTERVAL - elapsed_time) ;
568569 }
569570 } else if bytes_to_send_per_interval_slice_remaining <= 0 { // interval subsection exhausted
571+ interval_iteration += 1 ;
570572 bytes_to_send_per_interval_slice_remaining = bytes_to_send_per_interval_slice;
571573 let elapsed_time = cycle_start. elapsed ( ) ;
572- if interval_duration > elapsed_time {
573- sleep ( interval_duration - elapsed_time) ;
574+ let interval_endtime = interval_iteration * interval_duration;
575+ if interval_endtime > elapsed_time {
576+ sleep ( interval_endtime - elapsed_time) ;
574577 }
575578 }
576579 self . remaining_duration -= packet_start. elapsed ( ) . as_secs_f32 ( ) ;
You can’t perform that action at this time.
0 commit comments