| Crates.io | itsdns |
| lib.rs | itsdns |
| version | 0.1.0 |
| created_at | 2023-01-30 18:47:17.30099+00 |
| updated_at | 2023-01-30 18:47:17.30099+00 |
| description | Light weight DNS client based on embedded-nal-async |
| homepage | |
| repository | https://github.com/lulf/itsdns |
| max_upload_size | |
| id | 772024 |
| size | 51,407 |
It's always DNS.
A light weight (no_std and no_alloc) lightweight DNS client that you can use with any UDP stack implemented by embedded-nal-async. It also implements the DNS traits from embedded-nal-async.
#![feature(async_fn_in_trait)]
#![allow(incomplete_features)]
use embedded_nal_async::SocketAddr;
use std::str::FromStr;
use itsdns::*;
#[tokio::main]
async fn main() {
let nameserver: SocketAddr = SocketAddr::from_str("8.8.8.8:53").unwrap();
let stack = std_embedded_nal_async::Stack::default();
let client = ItsDns::new(stack, nameserver);
let host = "example.com";
println!("Resolving {}...", host);
let ip = client
.get_host_by_name(host, embedded_nal_async::AddrType::IPv4)
.await
.unwrap();
println!("Resolved {} to {}", host, ip);
}