Struct c_ares::Options

source ·
pub struct Options { /* private fields */ }
Expand description

Used to configure the behaviour of the name resolver.

Implementations§

source§

impl Options

source

pub fn new() -> Self

Returns a fresh Options, on which no values are set.

source

pub fn set_flags(&mut self, flags: Flags) -> &mut Self

Set flags controlling the behaviour of the resolver. The available flags are documented here.

source

pub fn set_timeout(&mut self, ms: u32) -> &mut Self

Set the number of milliseconds each name server is given to respond to a query on the first try. (After the first try, the timeout algorithm becomes more complicated, but scales linearly with the value of timeout). The default is 2000ms.

source

pub fn set_tries(&mut self, tries: u32) -> &mut Self

Set the number of tries the resolver will try contacting each name server before giving up. The default is three tries.

source

pub fn set_ndots(&mut self, ndots: u32) -> &mut Self

Set the number of dots which must be present in a domain name for it to be queried for “as is” prior to querying for it with the default domain extensions appended. The default value is 1 unless set otherwise by resolv.conf or the RES_OPTIONS environment variable.

source

pub fn set_udp_port(&mut self, udp_port: u16) -> &mut Self

Set the UDP port to use for queries. The default value is 53, the standard name service port.

source

pub fn set_tcp_port(&mut self, tcp_port: u16) -> &mut Self

Set the TCP port to use for queries. The default value is 53, the standard name service port.

source

pub fn set_domains(&mut self, domains: &[&str]) -> &mut Self

Set the domains to search, instead of the domains specified in resolv.conf or the domain derived from the kernel hostname variable.

source

pub fn set_lookups(&mut self, lookups: &str) -> &mut Self

Set the lookups to perform for host queries. lookups should be set to a string of the characters “b” or “f”, where “b” indicates a DNS lookup and “f” indicates a lookup in the hosts file.

source

pub fn set_socket_state_callback<F>(&mut self, callback: F) -> &mut Self
where F: FnMut(Socket, bool, bool) + Send + 'static,

Set the callback function to be invoked when a socket changes state.

callback(socket, read, write) will be called when a socket changes state:

  • read is set to true if the socket should listen for read events
  • write is set to true if the socket should listen for write events.
source

pub fn set_sock_send_buffer_size(&mut self, size: u32) -> &mut Self

Set the socket send buffer size.

source

pub fn set_sock_receive_buffer_size(&mut self, size: u32) -> &mut Self

Set the socket receive buffer size.

source

pub fn set_rotate(&mut self) -> &mut Self

Configure round robin selection of nameservers.

source

pub fn set_no_rotate(&mut self) -> &mut Self

Prevent round robin selection of nameservers.

source

pub fn set_ednspsz(&mut self, size: u32) -> &mut Self

Set the EDNS packet size.

source

pub fn set_resolvconf_path(&mut self, resolvconf_path: &str) -> &mut Self

The path to use for reading the resolv.conf file. The resolvconf_path should be set to a path string, and will be honoured on *nix like systems. The default is /etc/resolv.conf.

Trait Implementations§

source§

impl Default for Options

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Send for Options

source§

impl Sync for Options

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.