HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
tailhook
rotor
Rust2016–2016
tailhook / rotor

rotor

The mio-based framework for rust for doing I/O in simple and composable way (ABANDONED)

2Distinct people
2Mentions
0Explicit recommenders
361GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The mio-based framework for rust for doing I/O in simple and composable way (ABANDONED)

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week2 dated mentions

Observed mentions: 2016-07-04 08:23:43 UTC to 2016-12-22 23:33:28 UTC. Weeks start Monday, UTC.

012016-07-04 00:00:00 UTC to 2016-07-11 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsJul 42016-07-11 00:00:00 UTC to 2016-07-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-07-18 00:00:00 UTC to 2016-07-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-07-25 00:00:00 UTC to 2016-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-01 00:00:00 UTC to 2016-08-08 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-08 00:00:00 UTC to 2016-08-15 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-15 00:00:00 UTC to 2016-08-22 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-22 00:00:00 UTC to 2016-08-29 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-08-29 00:00:00 UTC to 2016-09-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-05 00:00:00 UTC to 2016-09-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-12 00:00:00 UTC to 2016-09-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-19 00:00:00 UTC to 2016-09-26 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-09-26 00:00:00 UTC to 2016-10-03 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 262016-10-03 00:00:00 UTC to 2016-10-10 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-10 00:00:00 UTC to 2016-10-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-17 00:00:00 UTC to 2016-10-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-24 00:00:00 UTC to 2016-10-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-10-31 00:00:00 UTC to 2016-11-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-07 00:00:00 UTC to 2016-11-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-14 00:00:00 UTC to 2016-11-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-21 00:00:00 UTC to 2016-11-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-11-28 00:00:00 UTC to 2016-12-05 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-12-05 00:00:00 UTC to 2016-12-12 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-12-12 00:00:00 UTC to 2016-12-19 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2016-12-19 00:00:00 UTC to 2016-12-26 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 19

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 42016-07-04 00:00:00 UTC2016-07-11 00:00:00 UTC101
Jul 112016-07-11 00:00:00 UTC2016-07-18 00:00:00 UTC000
Jul 182016-07-18 00:00:00 UTC2016-07-25 00:00:00 UTC000
Jul 252016-07-25 00:00:00 UTC2016-08-01 00:00:00 UTC000
Aug 12016-08-01 00:00:00 UTC2016-08-08 00:00:00 UTC000
Aug 82016-08-08 00:00:00 UTC2016-08-15 00:00:00 UTC000
Aug 152016-08-15 00:00:00 UTC2016-08-22 00:00:00 UTC000
Aug 222016-08-22 00:00:00 UTC2016-08-29 00:00:00 UTC000
Aug 292016-08-29 00:00:00 UTC2016-09-05 00:00:00 UTC000
Sep 52016-09-05 00:00:00 UTC2016-09-12 00:00:00 UTC000
Sep 122016-09-12 00:00:00 UTC2016-09-19 00:00:00 UTC000
Sep 192016-09-19 00:00:00 UTC2016-09-26 00:00:00 UTC000
Sep 262016-09-26 00:00:00 UTC2016-10-03 00:00:00 UTC000
Oct 32016-10-03 00:00:00 UTC2016-10-10 00:00:00 UTC000
Oct 102016-10-10 00:00:00 UTC2016-10-17 00:00:00 UTC000
Oct 172016-10-17 00:00:00 UTC2016-10-24 00:00:00 UTC000
Oct 242016-10-24 00:00:00 UTC2016-10-31 00:00:00 UTC000
Oct 312016-10-31 00:00:00 UTC2016-11-07 00:00:00 UTC000
Nov 72016-11-07 00:00:00 UTC2016-11-14 00:00:00 UTC000
Nov 142016-11-14 00:00:00 UTC2016-11-21 00:00:00 UTC000
Nov 212016-11-21 00:00:00 UTC2016-11-28 00:00:00 UTC000
Nov 282016-11-28 00:00:00 UTC2016-12-05 00:00:00 UTC000
Dec 52016-12-05 00:00:00 UTC2016-12-12 00:00:00 UTC000
Dec 122016-12-12 00:00:00 UTC2016-12-19 00:00:00 UTC000
Dec 192016-12-19 00:00:00 UTC2016-12-26 00:00:00 UTC101

What Hacker News says

2 sources
> Almost everyone is rallying around tokio. Sure - just as everyone "rallies" around EventMachine in Ruby. This discussion has been going on for almost 3 years now. It's great that tokio is making community headwinds, Twisted, Gevent, Celluloid, EventMachine all did too. The problem is, they've never reached critical mass, and their respective languages refused to bless them as "official." > What evidence do you have of this? The issue is inter-library compatibility. https://github.com/tailhook/rotor https://github.com/tokio-rs/tokio Totally incompatible, even though they build on the same low level library. https://github.com/mitsuhiko/redis-rs Oh wow, a great redis library - objectively the most popular. Completely incompatible with all of the above AIO implementations. Let's take it to the extreme: - Incompatible memcached client imple
Read the rest
mentations: - https://github.com/aisk/rust-memcache (sync) - https://github.com/zonyitoo/memcached-rs (sync) - https://github.com/samphippen/decachedmem (tokio, partially implemented) - Incompatible redis client implementations: - https://github.com/tokio-rs/tokio-redis (async via tokio) - https://github.com/mitsuhiko/redis-rs (sync) - https://github.com/AsoSunag/redis-client - Incompatible HTTP client implementations: - https://github.com/matt2xu/async-http-client/ (tokio, new) - https://gitlab.com/imp/requests-rs.git (hyper, sync) - https://crates.io/crates/reqwest (hyper) - https://crates.io/crates/request The list goes on. There are countless libraries implemented with synchronous I/O, there are countless (good) popular libraries implemented with non-Tokio-based concurrency primitives. Let me just say it: I really, really like Rust. But I cannot feasibly use it for network/server-related tasks until a single solution is blessed by the Rust team. The "let's let the community handle standardizing async IO and concurrency" approach has _never_ worked in the somewhat brief history of programming languages. A blessed solution though? - Erlang, Golang, Node/JS* All work flawlessly. I would use Rust full-time for every server-related task if I could, but I've been observing for 3 years and unfortunately haven't seen much development after the abandonment of builtin green threading. *- codestyles sometimes incompatible, but there was _never_ a litany of sync libraries or otherwise fundamentally incompatible systems.
In Announcing Rust 1.14
I have a protocol implementation in development which looks somewhat like this (minus the "delete this" part, I just keep my Peers in a bunch of vectors and remove them from those, Rc then drops it when the function ends and nobody is capable of accessing it), as part of a protocol implementation. Turns out it's relatively easy - it's what the Rc<RefCell<T>> type is for. I'm coming from Python, so the odd simple integer/boolean check (what Rc and RefCell come down to) aren't an issue for me - they might be for you depending on what you're writing, I suppose, although 99% of the time they're not going to be what you need to optimise. However - Rust is not an object-oriented language. This sort of design isn't necessarily what you want to be using. In your particular case, what you'd probably want is the EventLoop owning the Socket and MyCl
Read the rest
ient, callbacking MyClient directly, and allowing MyClient's callback to return a value describing whether to destroy it or not. Libraries like rotor[0] do exactly this. [0] https://github.com/tailhook/rotor
In Ruma, a Matrix homeserver written in Rust

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.