silk/native_resolver
Profiles: aarch64-apple-darwin, aarch64-unknown-linux-gnu, aarch64-unknown-linux-gnu-no-libc, wasm32-unknown-unknown, x86_64-unknown-linux-gnu, x86_64-unknown-linux-gnu-no-libc.
Selected synchronous libc host resolution with one affine result-chain owner.
When to use
Install NativeSystemResolver at a native application edge when blocking system DNS/NSS is acceptable. Portable code should depend only on the Resolver service.
Details
A deadline-free domain request makes exactly one getaddrinfo call and copies a finite result. Every successful non-null chain is owned immediately and freed exactly once on every later exit.
Gotchas
NativeSystemResolver rejects every domain deadline before observable work. Once getaddrinfo is entered it has no cancellation, timeout, scheduler-parking, elapsed-time, or memory bound. On unsupported targets or no-libc profiles, reached construction or resolution produces a compile-time error. Unused imports remain available.
Import as NativeSystemResolver with import silk.native_resolver { NativeSystemResolver }.
Public declarations: 1.
NativeSystemResolver
pub struct NativeSystemResolverThe selected synchronous system Resolver provider.
Associated function NativeSystemResolver.make
pub fn make() -> NativeSystemResolverCreates a stateless synchronous native provider.
Gotchas
On unsupported targets or no-libc profiles, a reached call produces a compile-time error.
Implementation Resolver for NativeSystemResolver
impl Resolver for NativeSystemResolverOperation resolveDomain
resolveDomain = NativeSystemResolver.resolveDomain