Struct c_ares::Channel
[−]
[src]
pub struct Channel { /* fields omitted */ }
A channel for name service lookups.
Methods
impl Channel
[src]
fn new() -> Result<Channel>
[src]
Create a new channel for name service lookups, with default Options
.
fn with_options(options: Options) -> Result<Channel>
[src]
Create a new channel for name service lookups, with the given Options
.
fn try_clone(&self) -> Result<Channel>
[src]
Duplicate a channel.
fn process_fd(&mut self, read_fd: Socket, write_fd: Socket)
[src]
Handle input, output, and timeout events associated with the specified file descriptors (sockets).
Providing a value for read_fd
indicates that the identified socket
is readable; likewise providing a value for write_fd
indicates that
the identified socket is writable. Use SOCKET_BAD
for "no action".
fn process(&mut self, read_fds: &mut fd_set, write_fds: &mut fd_set)
[src]
Handle input and output events associated with the specified file
descriptors (sockets). Also handles timeouts associated with the
Channel
.
fn get_sock(&self) -> GetSock
[src]
Retrieve the set of socket descriptors which the calling application should wait on for reading and / or writing.
fn fds(&self, read_fds: &mut fd_set, write_fds: &mut fd_set) -> u32
[src]
Retrieve the set of socket descriptors which the calling application should wait on for reading and / or writing.
fn set_servers(&mut self, servers: &[&str]) -> Result<&mut Self>
[src]
Set the list of servers to contact, instead of the servers specified in resolv.conf or the local named.
String format is host[:port]
. IPv6 addresses with ports require
square brackets eg [2001:4860:4860::8888]:53
.
fn set_local_ipv4(&mut self, ipv4: &Ipv4Addr) -> &mut Self
[src]
Set the local IPv4 address from which to make queries.
fn set_local_ipv6(&mut self, ipv6: &Ipv6Addr) -> &mut Self
[src]
Set the local IPv6 address from which to make queries.
fn set_local_device(&mut self, device: &str) -> &mut Self
[src]
Set the local device from which to make queries.
fn query_a<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<AResults>) + Send + 'static,
[src]
F: FnOnce(Result<AResults>) + Send + 'static,
Initiate a single-question DNS query for the A records associated with
name
.
On completion, handler
is called with the result.
fn search_a<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<AResults>) + Send + 'static,
[src]
F: FnOnce(Result<AResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the A records
associated with name
.
On completion, handler
is called with the result.
fn query_aaaa<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<AAAAResults>) + Send + 'static,
[src]
F: FnOnce(Result<AAAAResults>) + Send + 'static,
Initiate a single-question DNS query for the AAAA records associated
with name
.
On completion, handler
is called with the result.
fn search_aaaa<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<AAAAResults>) + Send + 'static,
[src]
F: FnOnce(Result<AAAAResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the AAAA records
associated with name
.
On completion, handler
is called with the result.
fn query_cname<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<CNameResults>) + Send + 'static,
[src]
F: FnOnce(Result<CNameResults>) + Send + 'static,
Initiate a single-question DNS query for the CNAME records associated
with name
.
On completion, handler
is called with the result.
fn search_cname<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<CNameResults>) + Send + 'static,
[src]
F: FnOnce(Result<CNameResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the CNAME records
associated with name
.
On completion, handler
is called with the result.
fn query_mx<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<MXResults>) + Send + 'static,
[src]
F: FnOnce(Result<MXResults>) + Send + 'static,
Initiate a single-question DNS query for the MX records associated
with name
.
On completion, handler
is called with the result.
fn search_mx<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<MXResults>) + Send + 'static,
[src]
F: FnOnce(Result<MXResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the MX records
associated with name
.
On completion, handler
is called with the result.
fn query_naptr<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<NAPTRResults>) + Send + 'static,
[src]
F: FnOnce(Result<NAPTRResults>) + Send + 'static,
Initiate a single-question DNS query for the NAPTR records associated
with name
.
On completion, handler
is called with the result.
fn search_naptr<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<NAPTRResults>) + Send + 'static,
[src]
F: FnOnce(Result<NAPTRResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the NAPTR records
associated with name
.
On completion, handler
is called with the result.
fn query_ns<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<NSResults>) + Send + 'static,
[src]
F: FnOnce(Result<NSResults>) + Send + 'static,
Initiate a single-question DNS query for the NS records associated
with name
.
On completion, handler
is called with the result.
fn search_ns<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<NSResults>) + Send + 'static,
[src]
F: FnOnce(Result<NSResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the NS records
associated with name
.
On completion, handler
is called with the result.
fn query_ptr<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<PTRResults>) + Send + 'static,
[src]
F: FnOnce(Result<PTRResults>) + Send + 'static,
Initiate a single-question DNS query for the PTR records associated
with name
.
On completion, handler
is called with the result.
fn search_ptr<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<PTRResults>) + Send + 'static,
[src]
F: FnOnce(Result<PTRResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the PTR records
associated with name
.
On completion, handler
is called with the result.
fn query_soa<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<SOAResult>) + Send + 'static,
[src]
F: FnOnce(Result<SOAResult>) + Send + 'static,
Initiate a single-question DNS query for the SOA records associated
with name
.
On completion, handler
is called with the result.
fn search_soa<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<SOAResult>) + Send + 'static,
[src]
F: FnOnce(Result<SOAResult>) + Send + 'static,
Initiate a series of single-question DNS queries for the SOA records
associated with name
.
On completion, handler
is called with the result.
fn query_srv<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<SRVResults>) + Send + 'static,
[src]
F: FnOnce(Result<SRVResults>) + Send + 'static,
Initiate a single-question DNS query for the SRV records associated
with name
.
On completion, handler
is called with the result.
fn search_srv<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<SRVResults>) + Send + 'static,
[src]
F: FnOnce(Result<SRVResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the SRV records
associated with name
.
On completion, handler
is called with the result.
fn query_txt<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<TXTResults>) + Send + 'static,
[src]
F: FnOnce(Result<TXTResults>) + Send + 'static,
Initiate a single-question DNS query for the TXT records associated
with name
.
On completion, handler
is called with the result.
fn search_txt<F>(&mut self, name: &str, handler: F) where
F: FnOnce(Result<TXTResults>) + Send + 'static,
[src]
F: FnOnce(Result<TXTResults>) + Send + 'static,
Initiate a series of single-question DNS queries for the TXT records
associated with name
.
On completion, handler
is called with the result.
fn get_host_by_address<F>(&mut self, address: &IpAddr, handler: F) where
F: FnOnce(Result<HostResults>) + Send + 'static,
[src]
F: FnOnce(Result<HostResults>) + Send + 'static,
Perform a host query by address.
On completion, handler
is called with the result.
fn get_host_by_name<F>(&mut self, name: &str, family: AddressFamily, handler: F) where
F: FnOnce(Result<HostResults>) + Send + 'static,
[src]
F: FnOnce(Result<HostResults>) + Send + 'static,
Perform a host query by name.
On completion, handler
is called with the result.
fn get_name_info<F>(&mut self, address: &SocketAddr, flags: NIFlags, handler: F) where
F: FnOnce(Result<NameInfoResult>) + Send + 'static,
[src]
F: FnOnce(Result<NameInfoResult>) + Send + 'static,
Address-to-nodename translation in protocol-independent manner.
The valid values for flags
are documented
here.
On completion, handler
is called with the result.
fn query<F>(&mut self, name: &str, dns_class: u16, query_type: u16, handler: F) where
F: FnOnce(Result<&[u8]>) + Send + 'static,
[src]
F: FnOnce(Result<&[u8]>) + Send + 'static,
Initiate a single-question DNS query for name
. The class and type of
the query are per the provided parameters, taking values as defined in
arpa/nameser.h
.
On completion, handler
is called with the result.
This method is provided so that users can query DNS types for which
c-ares
does not provide a parser. This is expected to be a last
resort; if a suitable query_xxx()
is available, that should be
preferred.
fn search<F>(&mut self, name: &str, dns_class: u16, query_type: u16, handler: F) where
F: FnOnce(Result<&[u8]>) + Send + 'static,
[src]
F: FnOnce(Result<&[u8]>) + Send + 'static,
Initiate a series of single-question DNS queries for name
. The class
and type of the query are per the provided parameters, taking values as
defined in arpa/nameser.h
.
On completion, handler
is called with the result.
This method is provided so that users can search DNS types for which
c-ares
does not provide a parser. This is expected to be a last
resort; if a suitable search_xxx()
is available, that should be
preferred.
fn cancel(&mut self)
[src]
Cancel all requests made on this Channel
.
Callbacks will be invoked for each pending query, passing a result
Err(Error::ECANCELLED)
.