1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
use crate::msgs::enums::{AlertLevel, AlertDescription}; use crate::msgs::codec::{Codec, Reader}; #[derive(Debug)] pub struct AlertMessagePayload { pub level: AlertLevel, pub description: AlertDescription, } impl Codec for AlertMessagePayload { fn encode(&self, bytes: &mut Vec<u8>) { self.level.encode(bytes); self.description.encode(bytes); } fn read(r: &mut Reader) -> Option<AlertMessagePayload> { let level = AlertLevel::read(r)?; let description = AlertDescription::read(r)?; Some(AlertMessagePayload { level, description, }) } } impl AlertMessagePayload { pub fn length(&self) -> usize { 1 + 1 } }