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
use crate::DomainName;
use std::fmt::{Display, Formatter, Result as FmtResult};
use std::net::Ipv6Addr;
/// The [IPv6] [host address] resource record type.
///
/// [IPv6]: https://tools.ietf.org/html/rfc2460
/// [host address]: https://tools.ietf.org/html/rfc3596#section-2
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct AAAA {
pub domain_name: DomainName,
pub ttl: u32,
pub ipv6_addr: Ipv6Addr,
}
impl_to_type!(AAAA);
impl Display for AAAA {
fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
write!(
f,
"{} {} IN AAAA {}",
self.domain_name, self.ttl, self.ipv6_addr,
)
}
}