From a264f3d40ffd89eb4e37c3d55f28219f7c444fda Mon Sep 17 00:00:00 2001 From: Sunil Nimmagadda Date: Sun, 26 May 2024 13:19:51 +0530 Subject: Make VRRPv2Error std::error::Error trait compliant. --- src/vrrpv2.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/vrrpv2.rs b/src/vrrpv2.rs index f8445fb..ca8eaec 100644 --- a/src/vrrpv2.rs +++ b/src/vrrpv2.rs @@ -1,3 +1,4 @@ +use std::fmt::Display; use std::io::Read; use std::io::{self, Cursor}; use std::net::Ipv4Addr; @@ -44,6 +45,18 @@ pub enum VRRPv2Error { ParseError, } +impl Display for VRRPv2Error { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + Self::InvalidAuthType => write!(f, "Invalid Auth Type"), + Self::InvalidChecksum => write!(f, "Invalid Checksum"), + Self::InvalidType => write!(f, "Invalid Type"), + Self::InvalidVersion => write!(f, "Invalid Version"), + Self::ParseError => write!(f, "Parse Error"), + } + } +} + #[derive(Debug, PartialEq)] pub enum VRRPv2AuthType { VRRPv2AuthNoAuth = 0x00, -- cgit v1.2.3