pub struct OptHeader { /* private fields */ }
Expand description
The header of an OPT record.
The OPT record reappropriates the record header for encoding some
basic information. This type provides access to this information. It
consists of the record header accept for its rdlen
field.
This is so that OptBuilder
can safely deref to this type.
Implementations§
source§impl OptHeader
impl OptHeader
sourcepub fn for_record_slice(slice: &[u8]) -> &OptHeader
pub fn for_record_slice(slice: &[u8]) -> &OptHeader
Returns a reference to an OPT header pointing into a record’s octets.
sourcepub fn for_record_slice_mut(slice: &mut [u8]) -> &mut OptHeader
pub fn for_record_slice_mut(slice: &mut [u8]) -> &mut OptHeader
Returns a mutable reference pointing into a record’s octets.
sourcepub fn udp_payload_size(&self) -> u16
pub fn udp_payload_size(&self) -> u16
Returns the UDP payload size.
Through this field a sender of a message can signal the maximum size of UDP payload the sender is able to handle when receiving messages. This value refers to the abilities of the sender’s DNS implementation, not such things as network MTUs. Which means that the largest UDP payload that can actually be sent back to the sender may be smaller.
sourcepub fn set_udp_payload_size(&mut self, value: u16)
pub fn set_udp_payload_size(&mut self, value: u16)
Sets the UDP payload size value.
sourcepub fn rcode(&self, header: Header) -> OptRcode
pub fn rcode(&self, header: Header) -> OptRcode
Returns the extended rcode.
Some of the bits of the rcode are stored in the regular message header. Such a header needs to be passed to the method.
sourcepub fn set_rcode(&mut self, rcode: OptRcode)
pub fn set_rcode(&mut self, rcode: OptRcode)
Sets the extend rcode of the OPT header.
This method only sets the upper bits of the rcode. The lower bits need to be set in the message header.
sourcepub fn version(&self) -> u8
pub fn version(&self) -> u8
Returns the EDNS version of the OPT header.
Only EDNS version 0 is currently defined.
sourcepub fn set_version(&mut self, version: u8)
pub fn set_version(&mut self, version: u8)
Sets the EDNS version of the OPT header.
sourcepub fn dnssec_ok(&self) -> bool
pub fn dnssec_ok(&self) -> bool
Returns the value of the DNSSEC OK (DO) bit.
By setting this bit, a resolver indicates that it is interested in also receiving the DNSSEC-related resource records necessary to validate an answer. The bit and the related procedures are defined in RFC 3225.
sourcepub fn set_dnssec_ok(&mut self, value: bool)
pub fn set_dnssec_ok(&mut self, value: bool)
Sets the DNSSEC OK (DO) bit to the given value.
pub fn compose<Target: OctetsBuilder + ?Sized>( self, target: &mut Target, ) -> Result<(), Target::AppendError>
Trait Implementations§
impl Copy for OptHeader
impl Eq for OptHeader
impl StructuralPartialEq for OptHeader
Auto Trait Implementations§
impl Freeze for OptHeader
impl RefUnwindSafe for OptHeader
impl Send for OptHeader
impl Sync for OptHeader
impl Unpin for OptHeader
impl UnwindSafe for OptHeader
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)