async-net-mini

Crates.ioasync-net-mini
lib.rsasync-net-mini
version2.0.0
created_at2025-05-13 18:39:09.663539+00
updated_at2025-05-13 18:39:09.663539+00
descriptionAsync networking primitives for TCP/UDP/Unix communication for esp-idf
homepagehttps://github.com/smol-rs/async-net
repositoryhttps://github.com/smol-rs/async-net
max_upload_size
id1672323
size80,143
ed25519-maintainers (github:dalek-cryptography:ed25519-maintainers)

documentation

https://docs.rs/async-net

README

async-net

Build License Cargo Documentation

Fork of https://github.com/smol-rs/async-net using https://github.com/ivmarkov/async-io-mini/tree/master (useful for esp-idf-svc projects)

Async networking primitives for TCP/UDP/Unix communication.

This crate is an async version of std::net and std::os::unix::net.

Implementation

This crate uses async-io-mini for async I/O and optionally blocking for DNS lookups.

Examples

A simple UDP server that echoes messages back to the sender:

use async_net::UdpSocket;

let socket = UdpSocket::bind("127.0.0.1:8080").await?;
let mut buf = vec![0u8; 1024];

loop {
    let (n, addr) = socket.recv_from(&mut buf).await?;
    socket.send_to(&buf[..n], &addr).await?;
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 91

cargo fmt