mirror of https://github.com/ctz/rustls
27 lines
717 B
Rust
27 lines
717 B
Rust
use alloc::vec::Vec;
|
|
|
|
use crate::enums::AlertDescription;
|
|
use crate::error::InvalidMessage;
|
|
use crate::msgs::codec::{Codec, Reader};
|
|
use crate::msgs::enums::AlertLevel;
|
|
|
|
#[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) -> Result<Self, InvalidMessage> {
|
|
let level = AlertLevel::read(r)?;
|
|
let description = AlertDescription::read(r)?;
|
|
r.expect_empty("AlertMessagePayload")
|
|
.map(|_| Self { level, description })
|
|
}
|
|
}
|