/smolapps

Collection of application-layer protocols built on top of smoltcp (https://github.com/smoltcp-rs/smoltcp)

Primary LanguageRustApache License 2.0Apache-2.0

smolapps

crates.io badge docs.rs badge Build Status

Collection of application-layer protocols built on top of smoltcp.

This crate aims to follow the same guinding principles of smoltcp: simplicity and robustness. It is a #![no_std]-first crate, designed for bare-metal, real-time systems. Heap allocations (if at all present) will be reduced to a minimum, and will always be feature gated.

This crate is still a major WIP, and as such the API may change significantly even in patch releases.

The following protocols are implemented at this time:

  • Simple Network Time Protocol (SNTPv4, client only)
  • Trivial File Transfer Protocol (TFTP, server only)

Requirements

  • Rust 1.43+

Examples

See the examples directory for examples and instructions on how to use this crate in a hosted Linux environment. For bare-metal examples, refer to the documentation and the loopback example of smoltcp.

Features

The following features can be enabled at the crate level and are enabled by default:

  • sntp enables compilation of the SNTP client
  • tftp enables compilation of the TFTP server

License

Copyright © 2020 Pietro Lorefice

Dual licensed under your choice of either of: