kgio provides non-blocking I/O methods for Ruby without raising
exceptions on EAGAIN and EINPROGRESS. It is intended for use with the
Unicorn and Rainbows! Rack servers, but may be used by other
applications.
- Index of /kgio/
- [email protected]
- git://bogomips.org/kgio.git
Changes:
-
sockets accept()ed by a TCP_NOPUSH/TCP_CORK listener
automatically flush on kgio_*read calls if there is pending
data. “Kgio.autopush = false” disables this globally,
and Kgio::Socket also get “kgio_autopush=” to enable/disable
on a per-object individual basis. -
ECONNRESET exceptions get empty backtraces for kgio_*read.
There’s nothing a programmer can do about these, so there’s
no point in going through the expensive backtrace generation
process. -
Kgio.try* singleton methods added for working with non-Kgio
enhanced objects. No more needing to use Object#extend
and blowing away your method cache to make existing I/O
objects kinder and gentler. -
IPv6 support should be complete, systems without a native
getaddrinfo(3) are now unsupported (and will remain so
unless somebody complains).
There should be no other backwards-incompatible changes other
than requiring getaddrinfo(3) and friends for IPv6 support.
Jr ungr #vsqrsf naq jvyy arire or xvaq abe tragyr gb gurz!