mirror of
https://github.com/YGGverse/aquatic.git
synced 2026-03-31 17:55:36 +00:00
aquatic_udp: use log crate instead of eprintln, add LogLevel to Config
This commit is contained in:
parent
dd19f32a2a
commit
f4187f4368
6 changed files with 19 additions and 9 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
|
@ -145,6 +145,7 @@ dependencies = [
|
|||
"hashbrown 0.8.2",
|
||||
"histogram",
|
||||
"indexmap",
|
||||
"log",
|
||||
"mimalloc",
|
||||
"mio",
|
||||
"parking_lot",
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ crossbeam-channel = "0.4"
|
|||
hashbrown = "0.8"
|
||||
histogram = "0.6"
|
||||
indexmap = "1"
|
||||
log = "0.4"
|
||||
mimalloc = { version = "0.1", default-features = false }
|
||||
mio = { version = "0.7", features = ["udp", "os-poll", "os-util"] }
|
||||
parking_lot = "0.11"
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ use std::net::SocketAddr;
|
|||
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use aquatic_cli_helpers::LogLevel;
|
||||
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
#[serde(default)]
|
||||
|
|
@ -13,6 +15,7 @@ pub struct Config {
|
|||
/// Request workers receive a number of requests from socket workers,
|
||||
/// generate responses and send them back to the socket workers.
|
||||
pub request_workers: usize,
|
||||
pub log_level: LogLevel,
|
||||
pub network: NetworkConfig,
|
||||
pub protocol: ProtocolConfig,
|
||||
pub handlers: HandlerConfig,
|
||||
|
|
@ -22,7 +25,11 @@ pub struct Config {
|
|||
}
|
||||
|
||||
|
||||
impl aquatic_cli_helpers::Config for Config {}
|
||||
impl aquatic_cli_helpers::Config for Config {
|
||||
fn get_log_level(&self) -> Option<LogLevel> {
|
||||
Some(self.log_level)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
|
|
@ -108,6 +115,7 @@ impl Default for Config {
|
|||
Self {
|
||||
socket_workers: 1,
|
||||
request_workers: 1,
|
||||
log_level: LogLevel::Error,
|
||||
network: NetworkConfig::default(),
|
||||
protocol: ProtocolConfig::default(),
|
||||
handlers: HandlerConfig::default(),
|
||||
|
|
|
|||
|
|
@ -147,7 +147,7 @@ pub fn run_request_worker(
|
|||
|
||||
for r in responses.drain(..){
|
||||
if let Err(err) = response_sender.send(r){
|
||||
eprintln!("error sending response to channel: {}", err);
|
||||
::log::error!("error sending response to channel: {}", err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ pub fn run_socket_worker(
|
|||
|
||||
for r in requests.drain(..){
|
||||
if let Err(err) = request_sender.send(r){
|
||||
eprintln!("error sending to request_sender: {}", err);
|
||||
::log::error!("error sending to request_sender: {}", err);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +103,7 @@ fn create_socket(config: &Config) -> ::std::net::UdpSocket {
|
|||
|
||||
if recv_buffer_size != 0 {
|
||||
if let Err(err) = socket.set_recv_buffer_size(recv_buffer_size){
|
||||
eprintln!(
|
||||
::log::error!(
|
||||
"socket: failed setting recv buffer to {}: {:?}",
|
||||
recv_buffer_size,
|
||||
err
|
||||
|
|
@ -146,7 +146,7 @@ fn read_requests(
|
|||
requests.push((request, src));
|
||||
},
|
||||
Err(err) => {
|
||||
eprintln!("request_from_bytes error: {:?}", err);
|
||||
::log::debug!("request_from_bytes error: {:?}", err);
|
||||
|
||||
if let Some(transaction_id) = err.transaction_id {
|
||||
let opt_message = if err.error.is_some() {
|
||||
|
|
@ -174,7 +174,7 @@ fn read_requests(
|
|||
break;
|
||||
}
|
||||
|
||||
eprintln!("recv_from error: {}", err);
|
||||
::log::info!("recv_from error: {}", err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -225,7 +225,7 @@ fn send_responses(
|
|||
break;
|
||||
}
|
||||
|
||||
eprintln!("send_to error: {}", err);
|
||||
::log::info!("send_to error: {}", err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -108,14 +108,14 @@ pub fn gather_and_print_statistics(
|
|||
let num_peers = (torrent.num_seeders + torrent.num_leechers) as u64;
|
||||
|
||||
if let Err(err) = peers_per_torrent.increment(num_peers){
|
||||
eprintln!("error incrementing peers_per_torrent histogram: {}", err)
|
||||
::log::error!("error incrementing peers_per_torrent histogram: {}", err)
|
||||
}
|
||||
}
|
||||
for torrent in torrents.ipv6.values(){
|
||||
let num_peers = (torrent.num_seeders + torrent.num_leechers) as u64;
|
||||
|
||||
if let Err(err) = peers_per_torrent.increment(num_peers){
|
||||
eprintln!("error incrementing peers_per_torrent histogram: {}", err)
|
||||
::log::error!("error incrementing peers_per_torrent histogram: {}", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue