pub struct QDns { /* private fields */ }
Expand description
A main instance which contains all common logic. All requests for name/host resolutions should be perfomed using this structure.
let mut dns_req =
QDns::make_empty(None, QuerySetup::default()).unwrap();
dns_req.add_request(QType::SOA, "protonmail.com");
Implementations§
Source§impl QDns
impl QDns
Sourcepub fn make_empty(
resolvers: Option<Arc<ResolveConfig>>,
opts: QuerySetup,
) -> CDnsResult<Self>
pub fn make_empty( resolvers: Option<Arc<ResolveConfig>>, opts: QuerySetup, ) -> CDnsResult<Self>
Initializes new empty storage for requests.
§Arguments
-
resolvers
- an Arc ResolveConfig which contains configuration i.e nameservers -
planned_reqs_len
- how many requests are planned -
opts
- QuerySetup additional options or overrides. Use default() for default values.
§Returns
A CDnsResult is returned (Result alias) where:
-
Result::Ok is returned with the new instance.
-
Result::Err is returned with error description. The error may happen during attempt to read resolv config or obtain a cached verion.
Sourcepub fn add_request(&mut self, qtype: QType, req_name: impl Into<QDnsName>)
pub fn add_request(&mut self, qtype: QType, req_name: impl Into<QDnsName>)
Sourcepub fn make_a_aaaa_request(
resolvers_opt: Option<Arc<ResolveConfig>>,
req_name: impl Into<QDnsName>,
opts: QuerySetup,
) -> CDnsResult<Self>
pub fn make_a_aaaa_request( resolvers_opt: Option<Arc<ResolveConfig>>, req_name: impl Into<QDnsName>, opts: QuerySetup, ) -> CDnsResult<Self>
This is helper which makes for you an A, AAAA query. The order of A and AAAA is defined in the ResolveConfig.
Use this function directly. Do not use QDns::make_empty
§Arguments
-
resolvers
- an Option value Arc ResolveConfig which can be used to override the system’sresolv.conf
-
req_name
- a Into QDnsName which is target i.e ‘localhost’ or ‘domain.tld’ -
opts
- QuerySetup additional options or overrides. Use default() for default values.
§Returns
A CDnsResult is returned;
-
Result::Ok - with Self as inner type
-
Result::Err is returned with error description. The error may happen during attempt to read resolv config or obtain a cached verion.
Sourcepub fn query(self) -> QDnsQueryResult
pub fn query(self) -> QDnsQueryResult
Runs the created query/ies consuming the instance.
§Returns
A QDnsQueryResult is returned. It contains a pairs of the request and response result.