mirror of https://github.com/smol-rs/smol
1d7aaec699 | ||
---|---|---|
examples | ||
io-flag | ||
piper | ||
src | ||
.gitignore | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
README.md
Goals
- Small - Fits into a single source file.
- Fast - On par with async-std and Tokio.
- Safe - Written in 100% safe Rust.
- Complete - Fully featured and ready for production.
- Documented - Simple code, easy to understand and modify.
- Lightweight - Small dependencies, relies on epoll/kqueue/WSAPoll.
- Portable - Linux, Android, macOS, iOS, Windows, FreeBSD, OpenBSD, NetBSD, DragonFly BSD.
Features
- Executor - Configurable threads, work stealing, supports non-send futures.
- Blocking - Thread pool for isolating blocking code.
- Networking - TCP, UDP, Unix domain sockets, and custom files/sockets.
- Process - Spawns child processes and interacts with their I/O.
- Files - Filesystem manipulation operations.
- Stdio - Asynchronous stdin, stdout, and stderr.
- Timer - Efficient userspace timers.
Examples (TODO: turn these into links)
- Hello world
- HTTP request
- Hyper server
- Timer
- More...
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.