Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/ivmarkov/edge-net
- Owner: ivmarkov
- License: apache-2.0
- Created: 2022-06-29T11:19:25.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-11T13:43:59.000Z (26 days ago)
- Last Synced: 2024-12-29T13:08:37.380Z (8 days ago)
- Language: Rust
- Homepage:
- Size: 673 KB
- Stars: 126
- Watchers: 5
- Forks: 18
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
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!**