1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
use failure::Fail;

#[derive(Debug, PartialEq, Fail)]
pub enum ProtocolError {
    #[fail(display = "Invalid opcode: {}", opcode)]
    InvalidOpcode { opcode: u8 },

    #[fail(display = "Invalid Payload: {}", reason)]
    InvalidPayload { reason: String },

    #[fail(
        display = "Payload Size Too Large: {} bytes. Max bytes: {}",
        actual, max
    )]
    PayloadTooLarge { actual: u32, max: u32 },
}