pub struct QDns { /* private fields */ }
Expand description
A main instance which contains all common logic.
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 -
opts
- QuerySetup additional options or overrides. Use default() for default values.
§Returns
Never panics. Returns Self.
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>)
Adds new request to previously created empty storage for request with QDns::make_empty.
§Arguemnts
-
qtype
- a QType type of the request -
req_name
- a Into QDnsName which is target. i.e ‘localhost’ or ‘domain.tld’
§Returns
-
CDnsResult - Ok with nothing in inner type
-
CDnsResult - Err with error description
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 and which from both are allowed 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 - with error description
Sourcepub fn query(self) -> QDnsQueryResult
pub fn query(self) -> QDnsQueryResult
Resolves the created query/ies.
§Returns
-
CDnsResult with QDnsQueryResult which may contain results
-
CDnsResult with error
Should not panic. MT-safe.