mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
udp: improve resend buffer logic and log messages
This commit is contained in:
parent
ae77c7426e
commit
ff071080b0
3 changed files with 68 additions and 106 deletions
|
|
@ -23,8 +23,6 @@ use requests::read_requests;
|
|||
use responses::send_responses;
|
||||
use storage::PendingScrapeResponseSlab;
|
||||
|
||||
use self::responses::send_responses_with_resends;
|
||||
|
||||
pub fn run_socket_worker(
|
||||
_sentinel: PanicSentinel,
|
||||
state: State,
|
||||
|
|
@ -52,7 +50,7 @@ pub fn run_socket_worker(
|
|||
let mut access_list_cache = create_access_list_cache(&state.access_list);
|
||||
|
||||
let mut local_responses: Vec<(Response, CanonicalSocketAddr)> = Vec::new();
|
||||
let mut resend_buffer: Vec<(Response, CanonicalSocketAddr)> = Vec::new();
|
||||
let mut opt_resend_buffer = (config.network.resend_buffer_max_len > 0).then_some(Vec::new());
|
||||
|
||||
let poll_timeout = Duration::from_millis(config.network.poll_timeout_ms);
|
||||
|
||||
|
|
@ -63,7 +61,6 @@ pub fn run_socket_worker(
|
|||
let mut last_pending_scrape_cleaning = Instant::now();
|
||||
|
||||
let mut iter_counter = 0usize;
|
||||
let response_resending_active = config.network.resend_buffer_max_len > 0;
|
||||
|
||||
loop {
|
||||
poll.poll(&mut events, Some(poll_timeout))
|
||||
|
|
@ -88,28 +85,16 @@ pub fn run_socket_worker(
|
|||
}
|
||||
}
|
||||
|
||||
if response_resending_active {
|
||||
send_responses_with_resends(
|
||||
&state,
|
||||
&config,
|
||||
&mut socket,
|
||||
&mut buffer,
|
||||
&response_receiver,
|
||||
&mut pending_scrape_responses,
|
||||
local_responses.drain(..),
|
||||
&mut resend_buffer,
|
||||
);
|
||||
} else {
|
||||
send_responses(
|
||||
&state,
|
||||
&config,
|
||||
&mut socket,
|
||||
&mut buffer,
|
||||
&response_receiver,
|
||||
&mut pending_scrape_responses,
|
||||
local_responses.drain(..),
|
||||
);
|
||||
}
|
||||
send_responses(
|
||||
&state,
|
||||
&config,
|
||||
&mut socket,
|
||||
&mut buffer,
|
||||
&response_receiver,
|
||||
&mut pending_scrape_responses,
|
||||
local_responses.drain(..),
|
||||
&mut opt_resend_buffer,
|
||||
);
|
||||
|
||||
// Run periodic ValidUntil updates and state cleaning
|
||||
if iter_counter % 256 == 0 {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue