nio4r 0.1.0-java
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +20 -0
- data/.rspec +4 -0
- data/.travis.yml +7 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +20 -0
- data/README.md +123 -0
- data/Rakefile +9 -0
- data/ext/libev/Changes +388 -0
- data/ext/libev/LICENSE +36 -0
- data/ext/libev/README +58 -0
- data/ext/libev/README.embed +3 -0
- data/ext/libev/ev.c +3913 -0
- data/ext/libev/ev.h +829 -0
- data/ext/libev/ev_epoll.c +266 -0
- data/ext/libev/ev_kqueue.c +198 -0
- data/ext/libev/ev_poll.c +148 -0
- data/ext/libev/ev_port.c +179 -0
- data/ext/libev/ev_select.c +310 -0
- data/ext/libev/ev_vars.h +203 -0
- data/ext/libev/ev_win32.c +153 -0
- data/ext/libev/ev_wrap.h +196 -0
- data/ext/libev/test_libev_win32.c +123 -0
- data/ext/nio4r/extconf.rb +44 -0
- data/ext/nio4r/libev.h +8 -0
- data/ext/nio4r/monitor.c +164 -0
- data/ext/nio4r/nio4r.h +53 -0
- data/ext/nio4r/nio4r_ext.c +16 -0
- data/ext/nio4r/selector.c +370 -0
- data/lib/nio/jruby/monitor.rb +26 -0
- data/lib/nio/jruby/selector.rb +110 -0
- data/lib/nio/monitor.rb +21 -0
- data/lib/nio/selector.rb +101 -0
- data/lib/nio/version.rb +3 -0
- data/lib/nio.rb +30 -0
- data/nio4r.gemspec +23 -0
- data/spec/nio/monitor_spec.rb +36 -0
- data/spec/nio/selector_spec.rb +197 -0
- data/spec/spec_helper.rb +3 -0
- data/tasks/extension.rake +10 -0
- data/tasks/rspec.rake +7 -0
- metadata +121 -0
data/ext/libev/README
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
libev is a high-performance event loop/event model with lots of features.
|
2
|
+
(see benchmark at http://libev.schmorp.de/bench.html)
|
3
|
+
|
4
|
+
|
5
|
+
ABOUT
|
6
|
+
|
7
|
+
Homepage: http://software.schmorp.de/pkg/libev
|
8
|
+
Mailinglist: libev@lists.schmorp.de
|
9
|
+
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
|
10
|
+
Library Documentation: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod
|
11
|
+
|
12
|
+
Libev is modelled (very losely) after libevent and the Event perl
|
13
|
+
module, but is faster, scales better and is more correct, and also more
|
14
|
+
featureful. And also smaller. Yay.
|
15
|
+
|
16
|
+
Some of the specialties of libev not commonly found elsewhere are:
|
17
|
+
|
18
|
+
- extensive and detailed, readable documentation (not doxygen garbage).
|
19
|
+
- fully supports fork, can detect fork in various ways and automatically
|
20
|
+
re-arms kernel mechanisms that do not support fork.
|
21
|
+
- highly optimised select, poll, epoll, kqueue and event ports backends.
|
22
|
+
- filesystem object (path) watching (with optional linux inotify support).
|
23
|
+
- wallclock-based times (using absolute time, cron-like).
|
24
|
+
- relative timers/timeouts (handle time jumps).
|
25
|
+
- fast intra-thread communication between multiple
|
26
|
+
event loops (with optional fast linux eventfd backend).
|
27
|
+
- extremely easy to embed.
|
28
|
+
- very small codebase, no bloated library.
|
29
|
+
- fully extensible by being able to plug into the event loop,
|
30
|
+
integrate other event loops, integrate other event loop users.
|
31
|
+
- very little memory use (small watchers, small event loop data).
|
32
|
+
- optional C++ interface allowing method and function callbacks
|
33
|
+
at no extra memory or runtime overhead.
|
34
|
+
- optional Perl interface with similar characteristics (capable
|
35
|
+
of running Glib/Gtk2 on libev, interfaces with Net::SNMP and
|
36
|
+
libadns).
|
37
|
+
- support for other languages (multiple C++ interfaces, D, Ruby,
|
38
|
+
Python) available from third-parties.
|
39
|
+
|
40
|
+
Examples of programs that embed libev: the EV perl module,
|
41
|
+
rxvt-unicode, gvpe (GNU Virtual Private Ethernet), the Deliantra MMORPG
|
42
|
+
server (http://www.deliantra.net/), Rubinius (a next-generation Ruby
|
43
|
+
VM), the Ebb web server, the Rev event toolkit.
|
44
|
+
|
45
|
+
|
46
|
+
CONTRIBUTORS
|
47
|
+
|
48
|
+
libev was written and designed by Marc Lehmann and Emanuele Giaquinta.
|
49
|
+
|
50
|
+
The following people sent in patches or made other noteworthy
|
51
|
+
contributions to the design (for minor patches, see the Changes
|
52
|
+
file. If I forgot to include you, please shout at me, it was an
|
53
|
+
accident):
|
54
|
+
|
55
|
+
W.C.A. Wijngaards
|
56
|
+
Christopher Layne
|
57
|
+
Chris Brody
|
58
|
+
|