bgpkit_parser/models/
err.rs1use ipnet::AddrParseError;
2use std::error::Error;
3use std::fmt::{Display, Formatter};
4
5#[derive(Debug)]
6#[non_exhaustive]
7pub enum BgpModelsError {
8 PrefixParsingError(String),
9 NextHopParsingError(String),
10}
11
12impl Display for BgpModelsError {
13 fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
14 match self {
15 BgpModelsError::PrefixParsingError(msg) => {
16 write!(f, "cannot convert str to IP prefix: {msg}")
17 }
18 BgpModelsError::NextHopParsingError(msg) => {
19 write!(f, "cannot convert str to next hop: {msg}")
20 }
21 }
22 }
23}
24
25impl Error for BgpModelsError {}
26
27impl From<AddrParseError> for BgpModelsError {
28 fn from(err: AddrParseError) -> Self {
29 BgpModelsError::PrefixParsingError(err.to_string())
30 }
31}