about summary refs log tree commit homepage
path: root/lib/rainbows/epoll.rb
DateCommit message (Collapse)
2020-01-09doc: switch bogomips.org to yhbt.net
bogomips.org is due to expire, soon, and I'm not willing to pay extortionists at Ethos Capital/PIR/ICANN to keep a .org. So it's at yhbt.net, for now... Identity is overrated. Tor users can use .onions and kick ICANN to the curb: torsocks w3m http://rainbows.ou63pmih66umazou.onion/ torsocks git clone http://ou63pmih66umazou.onion/rainbows.git/ torsocks w3m http://ou63pmih66umazou.onion/rainbows-public/ While we're at it, switch news.gmane.org => news.gmane.io (but I suspect that'll need to be resynched since our mail "List-Id:" header is changing).
2016-10-31doc: move homepage and update URLs to HTTPS
Let's Encrypt is working well for us and having fewer domains reduces subjectAltName bloat to speed up connection establishment HTTP will remain working indefinitely since some old systems do not have modern TLS stacks.
2013-03-01epoll+xepoll: clarify intent of these concurrency options
Via private communication, I learned of a user using XEpoll when he should not have been.
2012-04-12doc: some spelling fixes
Found with rdoc-spellcheck
2011-05-21use and recommend sleepy_penguin 3.0.1
It's better under 1.9.3 (sleepy_penguin 3.0.1 was bogus)
2011-05-21use and recommend sleepy_penguin 3.0.0
It's better under 1.9.3
2011-05-20coolio* + *epoll*: drop keepalive clients on SIGQUIT
In concurrency models long keepalive times are cheap (and thus more likely to be used), this allows Rainbows! to gracefully shut down more quickly.
2011-05-20epoll/xepoll: more consistent client implementations
There's less logic in the server this way and easier to potentially share code this way.
2011-05-16document RubyGem requirements
Hopefully makes things easier to try out.
2011-05-16more reliable shutdown for epoll concurrency models
Just close the epoll descriptor, since the sleepy_penguin epoll_wait wrapper may not return EINTR in the future.
2011-05-08epoll_wait: flags argument is unused
We only poll for one event (EPOLLIN/EPOLLOUT) at a time, so there's no need to actually check since they're too rare.
2011-04-29epoll: fix timeout
Epoll#wait and epoll_wait(2) timeouts are in milliseconds, not seconds. This affects xepoll, too.
2011-04-28document epoll and xepoll
They're probably ready for general use in a very limited capacity...
2011-02-05*epoll: refactor common loop code
acceptor thread pools could use some work, still
2011-02-05*epoll: consolidate re-run logic
There's a lot of code duplication here :<
2011-02-04epoll: handle EINTR properly in Ruby-space
We can't work around it effectively in the C extension itself. This requires the latest sleepy_penguin gem.
2011-01-24epoll: make Epoll.quit more reusable
We'll be using this more in the future
2011-01-21epoll: use newer sleepy_penguin
We can eliminate the State module to simplify our code since 1.3.x keeps better track of things.
2011-01-20epoll: close epoll descriptor on graceful shutdown
This allows us to gracefully shutdown more quickly.
2011-01-20ev_core: simplify setup steps
ev_core is always loaded after forking, so eliminate the need for extra setup steps for each concurrency model that uses it
2011-01-19initial edge-triggered epoll model
Coolio and EventMachine only use level-triggered epoll, but being Rainbows!, we live on the EDGE!