Struct NameServerConfig
pub struct NameServerConfig {
pub socket_addr: SocketAddr,
pub protocol: Protocol,
pub tls_dns_name: Option<String>,
pub http_endpoint: Option<String>,
pub trust_negative_responses: bool,
pub bind_addr: Option<SocketAddr>,
}
Expand description
Configuration for the NameServer
Fields§
§socket_addr: SocketAddr
The address which the DNS NameServer is registered at.
protocol: Protocol
The protocol to use when communicating with the NameServer.
tls_dns_name: Option<String>
SPKI name, only relevant for TLS connections
http_endpoint: Option<String>
The HTTP endpoint where the DNS NameServer provides service. Only
relevant to DNS-over-HTTPS. Defaults to /dns-query
if unspecified.
trust_negative_responses: bool
Whether to trust NXDOMAIN
responses from upstream nameservers.
When this is true
, and an empty NXDOMAIN
response or NOERROR
with an empty answers set is received, the
query will not be retried against other configured name servers if
the response has the Authoritative flag set.
(On a response with any other error response code, the query will still be retried regardless of this configuration setting.)
Defaults to false.
bind_addr: Option<SocketAddr>
The client address (IP and port) to use for connecting to the server.
Implementations§
§impl NameServerConfig
impl NameServerConfig
pub fn new(socket_addr: SocketAddr, protocol: Protocol) -> NameServerConfig
pub fn new(socket_addr: SocketAddr, protocol: Protocol) -> NameServerConfig
Constructs a Nameserver configuration with some basic defaults
Trait Implementations§
§impl Clone for NameServerConfig
impl Clone for NameServerConfig
§fn clone(&self) -> NameServerConfig
fn clone(&self) -> NameServerConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for NameServerConfig
impl Debug for NameServerConfig
Auto Trait Implementations§
impl Freeze for NameServerConfig
impl RefUnwindSafe for NameServerConfig
impl Send for NameServerConfig
impl Sync for NameServerConfig
impl Unpin for NameServerConfig
impl UnwindSafe for NameServerConfig
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy
that returns Action::Follow
only if self
and other
return
Action::Follow
. Read more§impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
type Error = <U as RamaTryFrom<T>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
impl<T, U> RamaTryInto<U> for Twhere
U: RamaTryFrom<T>,
type Error = <U as RamaTryFrom<T>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T> ToSmolStr for T
impl<T> ToSmolStr for T
fn to_smolstr(&self) -> SmolStr
§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.