Skip to content

Commit

Permalink
Improve README and add MIT license
Browse files Browse the repository at this point in the history
  • Loading branch information
carllerche committed Sep 22, 2014
1 parent 8be349c commit 24b1ff0
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 4 deletions.
19 changes: 19 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (c) 2014 Carl Lerche and other MIO contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
32 changes: 28 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,31 @@
# MIO - Mini IO
# MIO - Metal IO

A lightweight non-blocking IO library for Rust.
MIO is a lightweight IO library for Rust with a focus on adding as
little overhead as possible over the OS abstractions.

## Summary
## Features

Uses the reactor pattern.
* Event loop backed by epoll, kqueue.
* Zero allocations at runtime
* Non-blocking TCP sockets
* High performance timer system
* Thread safe message channel for cross thread communication

__Coming soon__

* UDP and Unix domain sockets
* Signal handling

## Non goals

The following are specifically omitted from MIO and are left to the user
or higher level libraries.

* File operations
* Thread pools / multi-threaded reactor

## Platforms

Currently, MIO only supports Linux and Darwin. However, Windows support
will be coming soon. The goal is to support all platforms that Rust
supports.

0 comments on commit 24b1ff0

Please sign in to comment.