pub struct Query { /* private fields */ }
Expand description
Query struct for looking up resource records, basically a resource record without RDATA.
RFC 1035, DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION, November 1987
4.1.2. Question section format
The question section is used to carry the "question" in most queries,
i.e., the parameters that define what is being asked. The section
contains QDCOUNT (usually 1) entries, each of the following format:
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ QNAME / ZNAME /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QTYPE / ZTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QCLASS / ZCLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
Implementations
sourceimpl Query
impl Query
sourcepub fn new() -> Self
pub fn new() -> Self
Return a default query with an empty name and A, IN for the query_type and query_class
sourcepub fn query(name: Name, query_type: RecordType) -> Self
pub fn query(name: Name, query_type: RecordType) -> Self
Create a new query from name and type, class defaults to IN
sourcepub fn set_query_type(&mut self, query_type: RecordType) -> &mut Self
pub fn set_query_type(&mut self, query_type: RecordType) -> &mut Self
Specify the RecordType being queried
sourcepub fn set_query_class(&mut self, query_class: DNSClass) -> &mut Self
pub fn set_query_class(&mut self, query_class: DNSClass) -> &mut Self
Specify÷ the DNS class of the Query, almost always IN
sourcepub fn name(&self) -> &Name
pub fn name(&self) -> &Name
QNAME a domain name represented as a sequence of labels, where
each label consists of a length octet followed by that
number of octets. The domain name terminates with the
zero length octet for the null label of the root. Note
that this field may be an odd number of octets; no
padding is used.
sourcepub fn query_type(&self) -> RecordType
pub fn query_type(&self) -> RecordType
QTYPE a two octet code which specifies the type of the query.
The values for this field include all codes valid for a
TYPE field, together with some more general codes which
can match more than one type of RR.
sourcepub fn query_class(&self) -> DNSClass
pub fn query_class(&self) -> DNSClass
QCLASS a two octet code that specifies the class of the query.
For example, the QCLASS field is IN for the Internet.
sourcepub fn into_parts(self) -> QueryParts
pub fn into_parts(self) -> QueryParts
Consumes Query
and returns it’s components
Trait Implementations
sourceimpl<'r> BinDecodable<'r> for Query
impl<'r> BinDecodable<'r> for Query
sourcefn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>
fn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>
Read the type from the stream
sourcefn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
fn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
Returns the object in binary form
sourceimpl BinEncodable for Query
impl BinEncodable for Query
sourcefn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
Write the type to the stream
sourcefn to_bytes(&self) -> ProtoResult<Vec<u8>>
fn to_bytes(&self) -> ProtoResult<Vec<u8>>
Returns the object in binary form
impl Eq for Query
impl StructuralEq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
🔬 This is a nightly-only experimental API. (
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more