Enum domain::master::entry::Entry [−][src]
pub enum Entry { Origin(Rc<DNameBuf>), Include { path: Vec<u8>, origin: Option<Rc<DNameBuf>>, }, Ttl(u32), Control { name: Vec<u8>, start: Pos, }, Record(MasterRecord), Blank, }
A master file entry.
Master files consist of a sequence of entries. An entry contains data for a resource record or instructions on how to build resource records from the data.
This enum has variants for each type of master file entries currently
defined. It also knows how to scan itself from a scanner via the
scan()
function.
The variants are defined in seciton 5 of RFC 1035 except where otherwise stated below.
Variants
Origin(Rc<DNameBuf>)
An $ORIGIN
control entry.
This entry contains the origin for relative domain names encountered in subsequent entries.
Include
An $INCLUDE
control entry.
This entry instructs the parser to insert the content of the given
file at this position. The path
attribute specifies the path to
the file. The interpretation of the contents of this attribute is
system dependent. The optional origin
attribute contains the
initial value of the origin of relative domain names when including
the file.
Fields of Include
path: Vec<u8> | |
origin: Option<Rc<DNameBuf>> |
Ttl(u32)
A $TTL
control entry.
This entry specifies the value of the TTL field for all subsequent records that do not have it explicitely stated.
This entry is defined in section 4 of RFC 2308.
Control
Some other control entry.
Any other entry starting with a dollar sign is a control entry we
do not understand. This variant contains the name of the entry in
the name
attribute and its starting position in start
. This can
be used to produce a meaningful warning or error message.
Fields of Control
name: Vec<u8> | |
start: Pos |
Record(MasterRecord)
A resource record.
Blank
A blank entry.
Methods
impl Entry
[src]
impl Entry
pub fn scan<S: Scanner>(
stream: &mut S,
last_owner: Option<Rc<DNameBuf>>,
last_class: Option<Class>,
origin: &Option<Rc<DNameBuf>>,
default_ttl: Option<u32>
) -> ScanResult<Option<Self>>
[src]
pub fn scan<S: Scanner>(
stream: &mut S,
last_owner: Option<Rc<DNameBuf>>,
last_class: Option<Class>,
origin: &Option<Rc<DNameBuf>>,
default_ttl: Option<u32>
) -> ScanResult<Option<Self>>
Scans an entry from a scanner.
The four additional arguments contain the state of scanning for entries.
The last_owner
contains the domain name of the last
record entry unless this is the first entry. This is used for the
owner
field if a record entry starts with blanks.
The last_class
is the class of the last resource record and is
used if a class value is missing from a record entry.
The origin
argument is used for any relative names given in a record entry.
The default_ttl
value is used if a TTL value is missing from a
record entry.
If successful, the function returns some entry or None
if it
encountered an end of file before an entry even started.
Trait Implementations
impl Clone for Entry
[src]
impl Clone for Entry
fn clone(&self) -> Entry
[src]
fn clone(&self) -> Entry
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for Entry
[src]
impl Debug for Entry