diff options
author | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-11-15 15:31:01 +0100 |
---|---|---|
committer | HimbeerserverDE <himbeerserverde@gmail.com> | 2023-11-15 15:31:01 +0100 |
commit | 4f4b766c8368ba945f108d54f8c19c6e16512bb3 (patch) | |
tree | 8d7be987f25ff44c464a33ab32cd2a79c4b2656a | |
parent | 7bd05e8079a1a72772f707a41c8dc196d98e9b85 (diff) |
move error handling to binary
-rw-r--r-- | src/error.rs | 25 | ||||
-rw-r--r-- | src/lib.rs | 2 | ||||
-rw-r--r-- | src/main.rs | 26 |
3 files changed, 24 insertions, 29 deletions
diff --git a/src/error.rs b/src/error.rs deleted file mode 100644 index 4e20f07..0000000 --- a/src/error.rs +++ /dev/null @@ -1,25 +0,0 @@ -use std::io; - -use thiserror::Error; - -#[derive(Debug, Error)] -pub enum Error { - #[error("no address associated with aftr name")] - NoDnsRecord, - #[error("not enough ipv6 subnets")] - NotEnoughIpv6Subnets, - - #[error("io: {0}")] - Io(#[from] io::Error), - - #[error("ipnet prefix len: {0}")] - IpnetPrefixLen(#[from] ipnet::PrefixLenError), - #[error("netlinklib error: {0}")] - Netlinklib(#[from] rsdsl_netlinklib::Error), - #[error("serde_json: {0}")] - SerdeJson(#[from] serde_json::Error), - #[error("trust_dns_resolver resolve: {0}")] - TrustDnsResolverResolve(#[from] trust_dns_resolver::error::ResolveError), -} - -pub type Result<T> = std::result::Result<T, Error>; diff --git a/src/lib.rs b/src/lib.rs deleted file mode 100644 index 7edf3bf..0000000 --- a/src/lib.rs +++ /dev/null @@ -1,2 +0,0 @@ -mod error; -pub use error::*; diff --git a/src/main.rs b/src/main.rs index dad2847..46864f5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,5 @@ -use rsdsl_dslite::{Error, Result}; - use std::fs::File; +use std::io; use std::net::{Ipv6Addr, SocketAddr}; use std::thread; use std::time::Duration; @@ -10,12 +9,35 @@ use rsdsl_netlinklib::tunnel::IpIp6; use rsdsl_pd_config::PdConfig; use signal_hook::{consts::SIGUSR1, iterator::Signals}; use sysinfo::{ProcessExt, Signal, System, SystemExt}; +use thiserror::Error; use trust_dns_resolver::config::{NameServerConfig, Protocol, ResolverConfig, ResolverOpts}; use trust_dns_resolver::Resolver; const MAX_ATTEMPTS: usize = 3; const BACKOFF: u64 = 900; +#[derive(Debug, Error)] +pub enum Error { + #[error("no address associated with aftr name")] + NoDnsRecord, + #[error("not enough ipv6 subnets")] + NotEnoughIpv6Subnets, + + #[error("io: {0}")] + Io(#[from] io::Error), + + #[error("ipnet prefix len: {0}")] + IpnetPrefixLen(#[from] ipnet::PrefixLenError), + #[error("netlinklib error: {0}")] + Netlinklib(#[from] rsdsl_netlinklib::Error), + #[error("serde_json: {0}")] + SerdeJson(#[from] serde_json::Error), + #[error("trust_dns_resolver resolve: {0}")] + TrustDnsResolverResolve(#[from] trust_dns_resolver::error::ResolveError), +} + +pub type Result<T> = std::result::Result<T, Error>; + fn main() -> Result<()> { println!("[info] init"); |