Struct DnsOutgoing

Source
pub struct DnsOutgoing { /* private fields */ }
Expand description

Representation of one outgoing DNS message that could be sent in one or more packet(s).

Implementations§

Source§

impl DnsOutgoing

Source

pub fn new(flags: u16) -> Self

Source

pub fn questions(&self) -> &[DnsQuestion]

Source

pub fn answers_count(&self) -> usize

Source

pub fn authorities(&self) -> &[DnsRecordBox]

Source

pub fn additionals(&self) -> &[DnsRecordBox]

Source

pub fn known_answer_count(&self) -> i64

Source

pub fn set_id(&mut self, id: u16)

Source

pub const fn is_query(&self) -> bool

Source

pub fn add_additional_answer(&mut self, answer: impl DnsRecordExt + 'static)

Source

pub fn add_answer_box(&mut self, answer_box: DnsRecordBox)

A workaround as Rust doesn’t allow us to pass DnsRecordBox in as impl DnsRecordExt

Source

pub fn add_authority(&mut self, record: DnsRecordBox)

Source

pub fn add_answer( &mut self, msg: &DnsIncoming, answer: impl DnsRecordExt + Send + 'static, ) -> bool

Returns true if answer is added to the outgoing msg. Returns false if answer was not added as it expired or suppressed by the incoming msg.

Source

pub fn add_answer_at_time( &mut self, answer: impl DnsRecordExt + Send + 'static, now: u64, ) -> bool

Returns true if answer is added to the outgoing msg. Returns false if the answer is expired now hence not added. If now is 0, do not check if the answer expires.

Source

pub fn add_question(&mut self, name: &str, qtype: RRType)

Source

pub fn to_data_on_wire(&self) -> Vec<Vec<u8>>

Returns a list of actual DNS packet data to be sent on the wire.

Source

pub fn to_packets(&self) -> Vec<DnsOutPacket>

Encode self into one or more packets.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.