diff options
| author | murilo ijanc | 2026-03-25 22:19:39 -0300 |
|---|---|---|
| committer | murilo ijanc | 2026-03-25 22:19:39 -0300 |
| commit | 4214189961d59b9de15e221a9c4b229c0d646e78 (patch) | |
| tree | c96c719d8e861f7f4c726eee7818deb673d587b2 /src/bin/tpd.rs | |
| parent | 24c3402c9d27fc26bd3afe8c05276f52338514f8 (diff) | |
| download | tesseras-paste-4214189961d59b9de15e221a9c4b229c0d646e78.tar.gz | |
Add automatic re-join and -v flag for verbose logging
When the routing table drops to zero peers, the daemon now
re-joins bootstrap nodes every 60s, unbanning their addresses
first so replies are not silently discarded.
Both tp and tpd accept -v for debug-level output without
needing RUST_LOG environment variable.
Diffstat (limited to 'src/bin/tpd.rs')
| -rw-r--r-- | src/bin/tpd.rs | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/bin/tpd.rs b/src/bin/tpd.rs index e1ebc7b..c18d88b 100644 --- a/src/bin/tpd.rs +++ b/src/bin/tpd.rs @@ -49,25 +49,18 @@ fn usage() { eprintln!(" -g global NAT (public server)"); eprintln!(" -n no auto-bootstrap (skip DNS SRV)"); eprintln!(" -b host:port bootstrap peer (repeatable)"); + eprintln!(" -v verbose (debug logging)"); eprintln!(" -h show this help"); } fn main() { - env_logger::Builder::from_env( - env_logger::Env::default().default_filter_or("info"), - ) - .format(|buf, record| { - use std::io::Write; - writeln!(buf, "[{}]: {}", record.level(), record.args()) - }) - .init(); - let mut port: u16 = 0; let mut dir = default_dir(); let mut sock: Option<PathBuf> = None; let mut http_port: Option<u16> = None; let mut global = false; let mut no_auto_bootstrap = false; + let mut verbose = false; let mut bootstrap: Vec<String> = Vec::new(); let args: Vec<String> = std::env::args().collect(); @@ -111,6 +104,7 @@ fn main() { } "-g" => global = true, "-n" => no_auto_bootstrap = true, + "-v" => verbose = true, "-b" => { i += 1; if let Some(addr) = args.get(i) { @@ -133,6 +127,16 @@ fn main() { i += 1; } + let default_level = if verbose { "debug" } else { "info" }; + env_logger::Builder::from_env( + env_logger::Env::default().default_filter_or(default_level), + ) + .format(|buf, record| { + use std::io::Write; + writeln!(buf, "[{}]: {}", record.level(), record.args()) + }) + .init(); + let sock_path = sock.unwrap_or_else(|| dir.join("daemon.sock")); // Ensure directories exist @@ -288,7 +292,7 @@ fn main() { }) }); - daemon::run_daemon(&mut node, &store, &rx, &shutdown); + daemon::run_daemon(&mut node, &store, &rx, &shutdown, &bootstrap); let _ = std::fs::remove_file(&sock_path); let _ = handle.join(); |