trust_dns_proto::op::message

Trait MessageFinalizer

Source
pub trait MessageFinalizer:
    Send
    + Sync
    + 'static {
    // Required method
    fn finalize_message(
        &self,
        message: &Message,
        current_time: u32,
    ) -> ProtoResult<(Vec<Record>, Option<MessageVerifier>)>;

    // Provided method
    fn should_finalize_message(&self, message: &Message) -> bool { ... }
}
Expand description

A trait for performing final amendments to a Message before it is sent.

An example of this is a SIG0 signer, which needs the final form of the message, but then needs to attach additional data to the body of the message.

Required Methods§

Source

fn finalize_message( &self, message: &Message, current_time: u32, ) -> ProtoResult<(Vec<Record>, Option<MessageVerifier>)>

The message taken in should be processed and then return Records which should be appended to the additional section of the message.

§Arguments
  • message - message to process
  • current_time - the current time as specified by the system, it’s not recommended to read the current time as that makes testing complicated.
§Return

A vector to append to the additionals section of the message, sorted in the order as they should appear in the message.

Provided Methods§

Source

fn should_finalize_message(&self, message: &Message) -> bool

Return whether the message require futher processing before being sent By default, returns true for AXFR and IXFR queries, and Update and Notify messages

Implementors§