web2019/content/software/smoltcp.md

32 lines
1.2 KiB
Markdown
Raw Normal View History

2019-07-03 17:52:11 +08:00
+++
2019-07-18 21:44:38 +08:00
title = "smoltcp"
2019-07-03 17:52:11 +08:00
weight = 2
template = "page.html"
2019-07-03 17:52:11 +08:00
+++
2019-07-18 21:44:38 +08:00
{% layout_centered_content(min_width=true) %}
##### smoltcp is a standalone, event-driven TCP/IP stack that is designed for bare-metal, real-time systems.
{% end %}
{% layout_centered_content(min_width=true, force_left=true) %}
2019-07-18 21:44:38 +08:00
Its design goals are simplicity and robustness. Its design anti-goals include complicated compile-time computations, such as macro or type tricks, even at cost of performance degradation.
smoltcp does not need heap allocation at all, is <a href="https://docs.rs/smoltcp/" target="_blank" rel="noopener noreferrer">extensively documented</a>, and compiles on stable Rust 1.20 and later. It is used in embedded systems such as the ARTIQ core device and ionpak.
2020-04-17 11:01:44 +08:00
smoltcp achieves <a href="https://github.com/smoltcp-rs/smoltcp#examplesbenchmarkrs" target="_blank" rel="noopener noreferrer">&#126;Gbps</a> of throughput when tested against the Linux TCP stack in loopback mode.
2019-07-18 21:44:38 +08:00
2020-03-13 18:27:51 +08:00
The source code is available <a href="https://github.com/smoltcp-rs/smoltcp" rel="noopener noreferrer">on GitHub</a>.
2019-07-18 21:44:38 +08:00
**Commercial support for smoltcp is available.** Email [sales@m-labs.hk](mailto:sales@m-labs.hk).
2019-07-18 21:44:38 +08:00
{% end %}