dns_message_parser/decode/rr/
rfc_3596.rs

1use super::Header;
2use crate::decode::Decoder;
3use crate::rr::{Class, AAAA};
4use crate::{DecodeError, DecodeResult};
5
6impl<'a, 'b: 'a> Decoder<'a, 'b> {
7    pub(super) fn rr_aaaa(&mut self, header: Header) -> DecodeResult<AAAA> {
8        match header.get_class()? {
9            Class::IN => {
10                let ipv6_addr = self.ipv6_addr()?;
11                let aaaa = AAAA {
12                    domain_name: header.domain_name,
13                    ttl: header.ttl,
14                    ipv6_addr,
15                };
16                Ok(aaaa)
17            }
18            class => Err(DecodeError::AAAAClass(class)),
19        }
20    }
21}