rustls/msgs/
alert.rs

1use crate::enums::AlertDescription;
2use crate::error::InvalidMessage;
3use crate::msgs::codec::{Codec, Reader};
4use crate::msgs::enums::AlertLevel;
5
6#[derive(Debug)]
7pub struct AlertMessagePayload {
8    pub level: AlertLevel,
9    pub description: AlertDescription,
10}
11
12impl Codec for AlertMessagePayload {
13    fn encode(&self, bytes: &mut Vec<u8>) {
14        self.level.encode(bytes);
15        self.description.encode(bytes);
16    }
17
18    fn read(r: &mut Reader) -> Result<Self, InvalidMessage> {
19        let level = AlertLevel::read(r)?;
20        let description = AlertDescription::read(r)?;
21        r.expect_empty("AlertMessagePayload")
22            .map(|_| Self { level, description })
23    }
24}