// Copyright (C) 2023 Andrew Rioux // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . use std::{error, fmt::Display}; #[derive(Debug)] pub enum Error { StringParse, UnknownPacketType(u16), PacketLengthInvalid, } pub type Result = std::result::Result; impl Display for Error { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { match self { Error::StringParse => write!(f, "unable to parse a string from pcap"), Error::UnknownPacketType(ptype) => write!(f, "unknown packet type ({ptype})"), Error::PacketLengthInvalid => write!( f, "received a packet with a length that mismatched the header" ), } } } impl error::Error for Error {}