Thomasdezeeuw/gaea


Low-level library to build event driven applications, supporting lightweight non-blocking I/O.

https://docs.rs/gaea/

License: MIT

Language: Rust


Gaea

Build Status License: MIT Crates.io Docs

Low-level library to build event driven applications, supporting lightweight non-blocking I/O.

This crate started as a fork of mio (v0.6.12, commit 4a716d0b687592368d9e283a6ea63aedb5877fc8), changed to run on a single thread. But since the has evolved dramatically changing to become the center of events, rather then just provided a cross-platform epoll/kqueue implementation.

Rust version 1.33 or higher is required as gaea makes use of Rust 2018 edition features.

Deprecation notice

Gaea is deprecated in favour of Mio as I've joined the Mio team and will continue developing the Mio crate instead of Gaea.

Differences compared to mio

The main two differences compared to mio are:

  • Focus on single threaded performance.
  • No Windows support.

The goal of this crate was to reduce the overhead of locks and/or atomic operations, at the cost of dropping the multi-threaded user queue. This means the usage of this crates, compared to mio, changes to using a single OsQueue (Poll in mio) per thread. Where when using mio you might use a single Poll instance for the entire application.

When reworking the code Windows support was removed because the underlying polling technique provided by the OS differs too much from epoll and kqueue. Carl Lerche (@carllerche, the auther of mio) did an amazing job of supporting Windows, but I have no interest in supporting Windows (I simply don't use it).

OS support

The following platforms are supported:

  • Linux (production target), and
  • macOS (development target).

The following platforms should work, as in the code compiles:

  • FreeBSD,
  • NetBSD, and
  • OpenBSD.

Documentation

The API documentation is available on docs.rs.

License

Licensed under the MIT license (LICENSE or https://opensource.org/licenses/MIT).

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.

Project Statistics

Sourcerank 6
Repository Size 2.16 MB
Stars 17
Forks 0
Watchers 3
Open issues 7
Dependencies 2
Contributors 115
Tags 3
Created
Last updated
Last pushed

Top Contributors See all

Thomas de Zeeuw Carl Lerche Alex Crichton Ahmed Charles Florian Hartwig Rick Richardson Jonathan Reem Taylor Cramer Santiago Pastorino Valerii Hiora Evgeny Rozaliev David Renshaw Frank Rehberger Val V Herman J. Radtke III Victor Berger Aleksandr Pak Alan Somers Yehuda Katz David Hotham

Packages Referencing this Repo

gaea
Low-level library to build event driven applications, supporting lightweight non-blocking I/O.
Latest release 0.3.1 - Updated - 17 stars
mio-st
Single threaded, lightweight non-blocking IO
Latest release 0.2.3 - Updated - 17 stars

Recent Tags See all

v0.3.0 June 06, 2019
v0.2.1 December 28, 2018
v0.2 November 30, 2018

Something wrong with this page? Make a suggestion

Last synced: 2020-01-02 12:58:46 UTC

Login to resync this repository