Silk

silk/native_resolver

Profiles: aarch64-apple-darwin, aarch64-unknown-linux-gnu, x86_64-unknown-linux-gnu.

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.

Import as NativeSystemResolver with import silk.native_resolver { NativeSystemResolver }.

Public declarations: 1.

NativeSystemResolver

pub struct NativeSystemResolver

The selected synchronous system Resolver provider.

Associated function NativeSystemResolver.make

pub fn make() -> NativeSystemResolver

Creates a stateless synchronous native provider.

Implementation Resolver for NativeSystemResolver

impl Resolver for NativeSystemResolver

Operation resolveDomain

resolveDomain = NativeSystemResolver.resolveDomain

On this page