1use std::io;23/// Error produced while validating, encoding, or decoding protocol data.45pub enum ProtocolError {6 7 Io( io::Error),89 10 InvalidMediaMagic([u8; 4]),1112 13 InvalidAudioMagic([u8; 4]),1415 16 InvalidInvitationMagic([u8; 4]),1718 19 UnsupportedVersion { expected: u16, actual: u16 },2021 22 InvalidHeaderLength { expected: u8, actual: u8 },2324 25 UnsupportedCodec(u8),2627 28 UnsupportedAudioCodec(u8),2930 31 UnsupportedFlags(u8),3233 34 InvalidDimensions { width: u16, height: u16 },3536 37 InvalidMediaPayloadLength { actual: usize, maximum: usize },3839 40 InvalidAudioPayloadLength { actual: usize, maximum: usize },4142 43 InvalidMessageLength { actual: usize, maximum: usize },4445 46 InvalidMessage {47 message_type: &'static str,48 reason: &'static str,49 },5051 52 Json( serde_json::Error),53}5455pub type Result<T> = std::result::Result<T, ProtocolError>;