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}