Struct hickory_proto::op::query::Query
source · 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§
source§impl 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 set_mdns_unicast_response(&mut self, flag: bool) -> &mut Self
Available on crate feature mdns
only.
pub fn set_mdns_unicast_response(&mut self, flag: bool) -> &mut Self
mdns
only.Changes mDNS unicast-response bit See RFC 6762
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 mdns_unicast_response(&self) -> bool
Available on crate feature mdns
only.
pub fn mdns_unicast_response(&self) -> bool
mdns
only.Returns if the mDNS unicast-response bit is set or not See RFC 6762
sourcepub fn into_parts(self) -> QueryParts
pub fn into_parts(self) -> QueryParts
Consumes Query
and returns it’s components
Trait Implementations§
source§impl<'r> BinDecodable<'r> for Query
impl<'r> BinDecodable<'r> for Query
source§fn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>
fn read(decoder: &mut BinDecoder<'r>) -> ProtoResult<Self>
Read the type from the stream
source§fn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
fn from_bytes(bytes: &'r [u8]) -> ProtoResult<Self>
Returns the object in binary form
source§impl BinEncodable for Query
impl BinEncodable for Query
source§fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
fn emit(&self, encoder: &mut BinEncoder<'_>) -> ProtoResult<()>
Write the type to the stream
source§impl From<Query> for LowerQuery
impl From<Query> for LowerQuery
source§impl From<Query> for QueryParts
impl From<Query> for QueryParts
source§impl PartialEq for Query
impl PartialEq for Query
impl Eq for Query
impl StructuralPartialEq for Query
Auto Trait Implementations§
impl Freeze for Query
impl RefUnwindSafe for Query
impl Send for Query
impl Sync for Query
impl Unpin for Query
impl UnwindSafe for Query
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<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.