aquatic: when config recv_buffer_size is zero, don't set on socket

This commit is contained in:
Joakim Frostegård 2020-04-08 21:45:25 +02:00
parent ad68dda9f5
commit e3b29723a4
2 changed files with 9 additions and 6 deletions

View file

@ -16,6 +16,7 @@ pub struct NetworkConfig {
pub max_scrape_torrents: u8, pub max_scrape_torrents: u8,
pub max_response_peers: usize, pub max_response_peers: usize,
pub peer_announce_interval: i32, pub peer_announce_interval: i32,
/// When value is zero, use OS default (don't set on socket)
pub recv_buffer_size: usize, pub recv_buffer_size: usize,
pub poll_event_capacity: usize, pub poll_event_capacity: usize,
} }

View file

@ -88,12 +88,14 @@ fn create_socket(config: &Config) -> ::std::net::UdpSocket {
socket.set_nonblocking(true) socket.set_nonblocking(true)
.expect("socket: set nonblocking"); .expect("socket: set nonblocking");
if let Err(err) = socket.set_recv_buffer_size(config.network.recv_buffer_size){ if config.network.recv_buffer_size != 0 {
eprintln!( if let Err(err) = socket.set_recv_buffer_size(config.network.recv_buffer_size){
"socket: failed setting recv buffer to {}: {:?}", eprintln!(
config.network.recv_buffer_size, "socket: failed setting recv buffer to {}: {:?}",
err config.network.recv_buffer_size,
); err
);
}
} }
socket socket