pub struct CSYNC { /* private fields */ }
Expand description
RFC 7477, Child-to-Parent Synchronization in DNS, March 2015
2.1.1. The CSYNC Resource Record Wire Format
The CSYNC RDATA consists of the following fields:
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SOA Serial |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flags | Type Bit Map /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
/ Type Bit Map (continued) /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Implementations§
Source§impl CSYNC
impl CSYNC
Sourcepub fn new(
soa_serial: u32,
immediate: bool,
soa_minimum: bool,
type_bit_maps: Vec<RecordType>,
) -> Self
pub fn new( soa_serial: u32, immediate: bool, soa_minimum: bool, type_bit_maps: Vec<RecordType>, ) -> Self
Creates a new CSYNC record data.
§Arguments
soa_serial
- A serial number for the zoneimmediate
- A flag signalling if the change should happen immediatelysoa_minimum
- A flag to used to signal if the soa_serial should be validatedtype_bit_maps
- a bit map of the types to synchronize
§Return value
The new CSYNC record data.
Sourcepub fn type_bit_maps(&self) -> &[RecordType]
pub fn type_bit_maps(&self) -> &[RecordType]
RFC 7477, Child-to-Parent Synchronization in DNS, March 2015
2.1.1.2.1. The Type Bit Map Field
The Type Bit Map field indicates the record types to be processed by
the parental agent, according to the procedures in Section 3. The
Type Bit Map field is encoded in the same way as the Type Bit Map
field of the NSEC record, described in [RFC4034], Section 4.1.2. If
a bit has been set that a parental agent implementation does not
understand, the parental agent MUST NOT act upon the record.
Specifically, a parental agent must not simply copy the data, and it
must understand the semantics associated with a bit in the Type Bit
Map field that has been set to 1.
Sourcepub fn flags(&self) -> u16
pub fn flags(&self) -> u16
RFC 7477, Child-to-Parent Synchronization in DNS, March 2015
2.1.1.2. The Flags Field
The Flags field contains 16 bits of boolean flags that define
operations that affect the processing of the CSYNC record. The flags
defined in this document are as follows:
0x00 0x01: "immediate"
0x00 0x02: "soaminimum"
The definitions for how the flags are to be used can be found in
Section 3.
The remaining flags are reserved for use by future specifications.
Undefined flags MUST be set to 0 by CSYNC publishers. Parental
agents MUST NOT process a CSYNC record if it contains a 1 value for a
flag that is unknown to or unsupported by the parental agent.
Trait Implementations§
Source§impl BinEncodable for CSYNC
impl BinEncodable for CSYNC
Source§fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> Result<(), ProtoError>
Write the type to the stream
Source§impl<'de> Deserialize<'de> for CSYNC
impl<'de> Deserialize<'de> for CSYNC
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl RecordData for CSYNC
impl RecordData for CSYNC
Source§fn try_from_rdata(data: RData) -> Result<Self, RData>
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
Source§fn try_borrow(data: &RData) -> Option<&Self>
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
Source§fn record_type(&self) -> RecordType
fn record_type(&self) -> RecordType
Get the associated RecordType for the RecordData
Source§fn into_rdata(self) -> RData
fn into_rdata(self) -> RData
Converts this RecordData into generic RecordData
impl Eq for CSYNC
impl StructuralPartialEq for CSYNC
Auto Trait Implementations§
impl Freeze for CSYNC
impl RefUnwindSafe for CSYNC
impl Send for CSYNC
impl Sync for CSYNC
impl Unpin for CSYNC
impl UnwindSafe for CSYNC
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.