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<R>(&mut self, qtype: QType, req_name: R) -> CDnsResult<()>
pub fn add_request<R>(&mut self, qtype: QType, req_name: R) -> CDnsResult<()>
Sourcepub fn make_a_aaaa_request<R: AsRef<str>>(
resolvers_opt: Option<Arc<ResolveConfig>>,
req_name_ref: R,
opts: QuerySetup,
) -> CDnsResult<Self>
pub fn make_a_aaaa_request<R: AsRef<str>>( resolvers_opt: Option<Arc<ResolveConfig>>, req_name_ref: R, 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.