nio4r 0.4.0-java → 0.4.1-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.md +4 -0
- data/README.md +1 -1
- data/ext/nio4r/selector.c +7 -1
- data/lib/nio.rb +3 -1
- data/lib/nio/version.rb +1 -1
- metadata +43 -15
data/CHANGES.md
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
New IO for Ruby
|
2
2
|
===============
|
3
|
-
[](http://travis-ci.org/tarcieri/nio4r)
|
4
4
|
|
5
5
|
When it comes to managing many IO objects on Ruby, there aren't a whole lot of
|
6
6
|
options. The most powerful API Ruby itself gives you is Kernel.select, and
|
data/ext/nio4r/selector.c
CHANGED
@@ -36,6 +36,8 @@ static VALUE NIO_Selector_unlock(VALUE lock);
|
|
36
36
|
static VALUE NIO_Selector_register_synchronized(VALUE *args);
|
37
37
|
static VALUE NIO_Selector_deregister_synchronized(VALUE *args);
|
38
38
|
static VALUE NIO_Selector_select_synchronized(VALUE *args);
|
39
|
+
static VALUE NIO_Selector_close_synchronized(VALUE self);
|
40
|
+
|
39
41
|
static int NIO_Selector_run(struct NIO_Selector *selector, VALUE timeout);
|
40
42
|
static void NIO_Selector_timeout_callback(struct ev_loop *ev_loop, struct ev_timer *timer, int revents);
|
41
43
|
static void NIO_Selector_wakeup_callback(struct ev_loop *ev_loop, struct ev_io *io, int revents);
|
@@ -389,7 +391,11 @@ static VALUE NIO_Selector_close(VALUE self)
|
|
389
391
|
/* Is the selector closed? */
|
390
392
|
static VALUE NIO_Selector_closed(VALUE self)
|
391
393
|
{
|
392
|
-
|
394
|
+
return NIO_Selector_synchronize(self, NIO_Selector_close_synchronized, self);
|
395
|
+
}
|
396
|
+
|
397
|
+
static VALUE NIO_Selector_close_synchronized(VALUE self)
|
398
|
+
{ struct NIO_Selector *selector;
|
393
399
|
Data_Get_Struct(self, struct NIO_Selector, selector);
|
394
400
|
|
395
401
|
return selector->closed ? Qtrue : Qfalse;
|
data/lib/nio.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'thread'
|
2
|
+
require 'socket'
|
2
3
|
require 'nio/version'
|
3
4
|
|
4
5
|
# New I/O for Ruby
|
@@ -19,9 +20,10 @@ else
|
|
19
20
|
|
20
21
|
if defined?(JRUBY_VERSION)
|
21
22
|
require 'java'
|
23
|
+
require 'jruby'
|
22
24
|
org.nio4r.Nio4r.new.load(JRuby.runtime, false)
|
23
25
|
NIO::ENGINE = 'java'
|
24
26
|
else
|
25
27
|
NIO::ENGINE = 'libev'
|
26
28
|
end
|
27
|
-
end
|
29
|
+
end
|
data/lib/nio/version.rb
CHANGED
metadata
CHANGED
@@ -2,46 +2,67 @@
|
|
2
2
|
name: nio4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.4.
|
5
|
+
version: 0.4.1
|
6
6
|
platform: java
|
7
7
|
authors:
|
8
8
|
- Tony Arcieri
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-11-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake-compiler
|
16
|
-
version_requirements:
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - ! '>='
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: !binary |-
|
21
|
+
MA==
|
22
|
+
none: false
|
23
|
+
requirement: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ! '>='
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: !binary |-
|
28
|
+
MA==
|
21
29
|
none: false
|
22
|
-
requirement: *2056
|
23
30
|
prerelease: false
|
24
31
|
type: :development
|
25
32
|
- !ruby/object:Gem::Dependency
|
26
33
|
name: rake
|
27
|
-
version_requirements:
|
34
|
+
version_requirements: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: !binary |-
|
39
|
+
MA==
|
40
|
+
none: false
|
41
|
+
requirement: !ruby/object:Gem::Requirement
|
28
42
|
requirements:
|
29
43
|
- - ! '>='
|
30
44
|
- !ruby/object:Gem::Version
|
31
|
-
version:
|
45
|
+
version: !binary |-
|
46
|
+
MA==
|
32
47
|
none: false
|
33
|
-
requirement: *2074
|
34
48
|
prerelease: false
|
35
49
|
type: :development
|
36
50
|
- !ruby/object:Gem::Dependency
|
37
51
|
name: rspec
|
38
|
-
version_requirements:
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - ! '>='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: !binary |-
|
57
|
+
MA==
|
58
|
+
none: false
|
59
|
+
requirement: !ruby/object:Gem::Requirement
|
39
60
|
requirements:
|
40
61
|
- - ! '>='
|
41
62
|
- !ruby/object:Gem::Version
|
42
|
-
version:
|
63
|
+
version: !binary |-
|
64
|
+
MA==
|
43
65
|
none: false
|
44
|
-
requirement: *2090
|
45
66
|
prerelease: false
|
46
67
|
type: :development
|
47
68
|
description: New IO for Ruby
|
@@ -109,17 +130,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
109
130
|
requirements:
|
110
131
|
- - ! '>='
|
111
132
|
- !ruby/object:Gem::Version
|
112
|
-
|
133
|
+
segments:
|
134
|
+
- 0
|
135
|
+
hash: 2
|
136
|
+
version: !binary |-
|
137
|
+
MA==
|
113
138
|
none: false
|
114
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
115
140
|
requirements:
|
116
141
|
- - ! '>='
|
117
142
|
- !ruby/object:Gem::Version
|
118
|
-
|
143
|
+
segments:
|
144
|
+
- 0
|
145
|
+
hash: 2
|
146
|
+
version: !binary |-
|
147
|
+
MA==
|
119
148
|
none: false
|
120
149
|
requirements: []
|
121
150
|
rubyforge_project:
|
122
|
-
rubygems_version: 1.8.
|
151
|
+
rubygems_version: 1.8.24
|
123
152
|
signing_key:
|
124
153
|
specification_version: 3
|
125
154
|
summary: NIO provides a high performance selector API for monitoring IO objects
|
@@ -133,4 +162,3 @@ test_files:
|
|
133
162
|
- spec/nio/selector_spec.rb
|
134
163
|
- spec/spec_helper.rb
|
135
164
|
- spec/support/selectable_examples.rb
|
136
|
-
...
|