summaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
authorCarl Lerche <me@carllerche.com>2018-02-28 15:03:45 -0800
committerGitHub <noreply@github.com>2018-02-28 15:03:45 -0800
commit164ee8f10675781fa48cf75b695613781edcd26d (patch)
treefc8f2decbaf05b90dbfaaaad37daeaa90c2106f8 /README.md
parent7238cfa5e25e7302485016f18ab525317804803c (diff)
Update the README (#164)
Diffstat (limited to 'README.md')
-rw-r--r--README.md31
1 files changed, 24 insertions, 7 deletions
diff --git a/README.md b/README.md
index fd086c94..3b98d7c6 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,16 @@
# Tokio
-A platform for writing fast networking code with Rust.
+A runtime for writing reliable, asynchronous, and slim applications with
+the Rust programming langauge. It is:
+
+* **Fast**: Tokio's zero-cost abstractions give you bare-metal
+ performance.
+
+* **Reliable**: Tokio leverages Rust's ownership, type system, and
+ concurrency model to reduce bugs and ensure thread safety.
+
+* **Scalable**: Tokio has a minimal footprint, and handles backpressure
+ and cancellation naturally.
[![Travis Build Status][travis-badge]][travis-url]
[![Appveyor Build Status][appveyor-badge]][appveyor-url]
@@ -16,14 +26,21 @@ A platform for writing fast networking code with Rust.
## Overview
-Tokio is an event-driven, non-blocking I/O platform for writing asynchronous I/O
-backed applications. It is used for implementing networking clients and servers.
+Tokio is an event-driven, non-blocking I/O platform for writing
+asynchronous applications with the Rust programming language. At a high
+level, it provides a few major components:
+
+* A multi threaded, work-stealing based task [scheduler].
+* A [reactor] backed by the operating system's event queue (epoll, kqueue,
+ IOCP, etc...).
+* Asynchronous [TCP and UDP][net] sockets.
-Tokio uses the [`futures`] crate as a foundation to build on, providing
-networking types and other utilities needed for building a production ready
-application.
+These components provide the runtime components necessary for building
+an asynchronous application.
-[`futures`]: https://github.com/rust-lang-nursery/futures-rs
+[net]: https://docs.rs/tokio/0.1/tokio/net/index.html
+[reactor]: https://docs.rs/tokio/0.1.1/tokio/reactor/index.html
+[scheduler]: https://tokio-rs.github.io/tokio/tokio/runtime/index.html
# License