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