- Update COMMENT - Update WWW Changes: https://github.com/socketry/nio4r/blob/master/CHANGES.md
19 lines
943 B
Text
19 lines
943 B
Text
nio4r provides an abstract, cross-platform stateful I/O selector API for Ruby.
|
|
I/O selectors are the heart of "reactor"-based event loops, and monitor multiple
|
|
I/O objects for various types of readiness, e.g. ready for reading or writing.
|
|
|
|
The most similar API provided by Ruby today is Kernel.select, however the select
|
|
API requires you to pass in arrays of all of the I/O objects you're interested
|
|
in every time. nio4r provides a more object-oriented API that lets you register
|
|
I/O objects with a selector then handle them when they're selected for various
|
|
types of events.
|
|
|
|
nio4r is modeled after the Java NIO API, but simplified for ease-of-use.
|
|
|
|
Its goals are:
|
|
- Expose high-level interfaces for stateful IO selectors
|
|
- Keep the API small to maximize both portability and performance across many
|
|
different OSes and Ruby VMs
|
|
- Provide inherently thread-safe facilities for working with IO objects
|
|
|
|
WWW: https://github.com/socketry/nio4r
|