use serde::Serialize;
use thiserror::Error;
pub mod bitcoin;
pub mod dhcpv6;
pub mod dns;
pub mod mqtt;
pub mod ntp;
#[derive(Debug, Error, Clone, Serialize)]
pub enum ApplicationError {
#[error("Packet is empty")]
EmptyPacket,
#[error("Failed to parse NTP packet")]
NtpParseError,
#[error("Failed to parse DHCPv6 packet")]
Dhcpv6ParseError,
#[error("Failed to parse DNS packet")]
DnsParseError,
#[error("Failed to parse QUIC packet")]
QuicParseError,
#[error("Failed to parse Bitcoin packet")]
BitcoinParseError,
#[error("Failed to parse MQTT packet")]
MqttParseError,
}