Trait UpdateMessage

pub trait UpdateMessage: Debug {
    // Required methods
    fn id(&self) -> u16;
    fn add_zone(&mut self, query: Query);
    fn add_pre_requisite(&mut self, record: Record);
    fn add_pre_requisites<R, I>(&mut self, records: R)
       where R: IntoIterator<Item = Record, IntoIter = I>,
             I: Iterator<Item = Record>;
    fn add_update(&mut self, record: Record);
    fn add_updates<R, I>(&mut self, records: R)
       where R: IntoIterator<Item = Record, IntoIter = I>,
             I: Iterator<Item = Record>;
    fn add_additional(&mut self, record: Record);
    fn zones(&self) -> &[Query];
    fn prerequisites(&self) -> &[Record];
    fn updates(&self) -> &[Record];
    fn additionals(&self) -> &[Record];
    fn sig0(&self) -> &[Record];
}
Expand description

To reduce errors in using the Message struct as an Update, this will do the call throughs to properly do that.

Generally rather than constructing this by hand, see the update methods on Client

Required Methods§

fn id(&self) -> u16

see Header::id

fn add_zone(&mut self, query: Query)

Adds the zone section, i.e. name.example.com would be example.com

fn add_pre_requisite(&mut self, record: Record)

Add the pre-requisite records

These must exist, or not, for the Update request to go through.

fn add_pre_requisites<R, I>(&mut self, records: R)
where R: IntoIterator<Item = Record, IntoIter = I>, I: Iterator<Item = Record>,

Add all the Records from the Iterator to the pre-requisites section

fn add_update(&mut self, record: Record)

Add the Record to be updated

fn add_updates<R, I>(&mut self, records: R)
where R: IntoIterator<Item = Record, IntoIter = I>, I: Iterator<Item = Record>,

Add the Records from the Iterator to the updates section

fn add_additional(&mut self, record: Record)

Add Records to the additional Section of the UpdateMessage

fn zones(&self) -> &[Query]

Returns the Zones to be updated, generally should only be one.

fn prerequisites(&self) -> &[Record]

Returns the pre-requisites

fn updates(&self) -> &[Record]

Returns the records to be updated

fn additionals(&self) -> &[Record]

Returns the additional records

fn sig0(&self) -> &[Record]

This is used to authenticate update messages.

see Message::sig0() for more information.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

§

impl UpdateMessage for Message

to reduce errors in using the Message struct as an Update, this will do the call throughs to properly do that.