Trait RecordData

pub trait RecordData:
    Sized
    + Clone
    + PartialEq
    + Eq
    + Display
    + Debug
    + BinEncodable {
    // Required methods
    fn try_from_rdata(data: RData) -> Result<Self, RData>;
    fn try_borrow(data: &RData) -> Option<&Self>;
    fn record_type(&self) -> RecordType;
    fn into_rdata(self) -> RData;

    // Provided method
    fn is_update(&self) -> bool { ... }
}
Expand description

RecordData that is stored in a DNS Record.

This trait allows for generic usage of RecordData types inside the Record type. Specific RecordData types can be used to enforce compile time constraints on a Record.

Required Methods§

fn try_from_rdata(data: RData) -> Result<Self, RData>

Attempts to convert to this RecordData from the RData type, if it is not the correct type the original is returned

fn try_borrow(data: &RData) -> Option<&Self>

Attempts to borrow this RecordData from the RData type, if it is not the correct type the original is returned

fn record_type(&self) -> RecordType

Get the associated RecordType for the RecordData

fn into_rdata(self) -> RData

Converts this RecordData into generic RecordData

Provided Methods§

fn is_update(&self) -> bool

RDLENGTH = 0

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§