Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ivmarkov/edge-net

async + no_std + no-alloc implementations of various network protocols
https://github.com/ivmarkov/edge-net

Last synced: about 16 hours ago
JSON representation

async + no_std + no-alloc implementations of various network protocols

Awesome Lists containing this project

README

        

# edge-net

[![CI](https://github.com/ivmarkov/edge-net/actions/workflows/ci.yml/badge.svg)](https://github.com/ivmarkov/edge-net/actions/workflows/ci.yml)
![crates.io](https://img.shields.io/crates/v/edge-net.svg)
[![Documentation](https://docs.rs/edge-net/badge.svg)](https://docs.rs/edge-net)

This crate ships async + `no_std` + no-alloc implementations of various network protocols.

Suitable for microcontrollers and embedded systems in general.

## Supported protocols

* [HTTP client and server](edge-http)
* [Websocket send/receive](edge-ws)
* [DNS Captive Portal](edge-captive)
* [mDNS responder](edge-mdns)
* [DHCP cient and server](edge-dhcp)
* [Raw IP & UDP packet send/receive](edge-raw) (useful in combination with the DHCP client and server)
* [MQTT client](edge-mqtt) (currently just a slim wrapper around [`rumqttc`](https://github.com/bytebeamio/rumqtt/tree/main/rumqttc), so needs STD)
* [TCP, UDP and raw sockets](edge-nal)

## Supported platforms

* [The Rust Standard library](edge-nal-std)
* [The networking stack of Embassy](edge-nal-embassy)
* Any other platform, as long as you implement (a subset of) [edge-nal](edge-nal)
* The necessary minimum being the `Read` / `Write` traits from [embedded_io_async](https://crates.io/crates/embedded-io-async/0.5.0) - for modeling TCP sockets - and `UdpReceive` / `UdpSend` from [edge-nal](edge-nal) - for modeling UDP sockets
* Most crates ([edge-captive](edge-captive), [edge-dhcp](edge-dhcp), [edge-ws](edge-ws), [edge-raw](edge-raw)) also provide a compute-only subset that does not need [embedded-io-async](https://crates.io/crates/embedded-io-async/0.5.0) or [edge-nal](edge-nal) traits

**PRs welcome!**