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,6 +88,7 @@ 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 config.network.recv_buffer_size != 0 {
if let Err(err) = socket.set_recv_buffer_size(config.network.recv_buffer_size){ if let Err(err) = socket.set_recv_buffer_size(config.network.recv_buffer_size){
eprintln!( eprintln!(
"socket: failed setting recv buffer to {}: {:?}", "socket: failed setting recv buffer to {}: {:?}",
@ -95,6 +96,7 @@ fn create_socket(config: &Config) -> ::std::net::UdpSocket {
err err
); );
} }
}
socket socket
} }