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 27 28 29 30
mod encode_data; use encode_data::EncodeData; mod encode; mod r_data; use bytes::BytesMut; use crate::RR; use std::collections::HashMap; use super::{encode_ipv4_addr, encode_ipv6_addr, encode_string, encode_u16, encode_u32, encode_u8}; use super::{EncodeError, EncodeResult}; impl RR { pub fn encode( &self, bytes: &mut BytesMut, compression: &mut HashMap<String, usize>, ) -> EncodeResult { let offset = 0; self.domain_name.encode(bytes, &offset, compression)?; self.rdata .encode(bytes, &self.class, self.ttl, compression)?; Ok(()) } }