ffi-rzmq 1.0.0 → 1.0.1
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/.travis.yml +2 -0
- data/History.txt +7 -0
- data/README.rdoc +1 -1
- data/lib/ffi-rzmq/poll.rb +1 -1
- data/lib/ffi-rzmq/socket.rb +8 -4
- data/lib/ffi-rzmq/version.rb +1 -1
- data/spec/socket_spec.rb +11 -1
- data/spec/spec_helper.rb +0 -8
- metadata +23 -23
data/.travis.yml
CHANGED
data/History.txt
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
== 1.0.1 / 20130318
|
2
|
+
* Fix for issue #77 was not included in 1.0.0 release by mistake.
|
3
|
+
|
4
|
+
* Add MIR 2.0.0 to travis runs.
|
5
|
+
|
6
|
+
* Add support for LAST_ENDPOINT and MULTICAST_HOPS to Socket#getsockopt.
|
7
|
+
|
1
8
|
== 1.0.0 / 20130109
|
2
9
|
* Fix for issue #74 (send_multiple improperly handled single part messages).
|
3
10
|
|
data/README.rdoc
CHANGED
@@ -9,7 +9,7 @@ function interface). It's a pure ruby wrapper so this gem can be loaded
|
|
9
9
|
and run by any ruby runtime that supports FFI. That's all of them:
|
10
10
|
MRI 1.9.x, Rubinius and JRuby.
|
11
11
|
|
12
|
-
This single gem supports 0mq 2.x and 3.
|
12
|
+
This single gem supports 0mq 2.2.x and 3.2.x 0mq APIs. The 0mq project started
|
13
13
|
making backward-incompatible changes to the API with the 3.1.x release.
|
14
14
|
The gem auto-configures itself to expose the API conforming to the loaded
|
15
15
|
C library. 0mq API 3.0 is *not* supported; the 0mq community voted to
|
data/lib/ffi-rzmq/poll.rb
CHANGED
data/lib/ffi-rzmq/socket.rb
CHANGED
@@ -703,7 +703,7 @@ module ZMQ
|
|
703
703
|
# Disconnect the socket from the given +endpoint+.
|
704
704
|
#
|
705
705
|
def disconnect(endpoint)
|
706
|
-
LibZMQ.zmq_disconnect(endpoint)
|
706
|
+
LibZMQ.zmq_disconnect(socket, endpoint)
|
707
707
|
end
|
708
708
|
|
709
709
|
# Version3 only
|
@@ -711,7 +711,7 @@ module ZMQ
|
|
711
711
|
# Unbind the socket from the given +endpoint+.
|
712
712
|
#
|
713
713
|
def unbind(endpoint)
|
714
|
-
LibZMQ.zmq_unbind(endpoint)
|
714
|
+
LibZMQ.zmq_unbind(socket, endpoint)
|
715
715
|
end
|
716
716
|
|
717
717
|
|
@@ -731,10 +731,14 @@ module ZMQ
|
|
731
731
|
# integer options
|
732
732
|
[RECONNECT_IVL_MAX, RCVHWM, SNDHWM, RATE, RECOVERY_IVL, SNDBUF, RCVBUF, IPV4ONLY,
|
733
733
|
ROUTER_BEHAVIOR, TCP_KEEPALIVE, TCP_KEEPALIVE_CNT,
|
734
|
-
TCP_KEEPALIVE_IDLE, TCP_KEEPALIVE_INTVL, TCP_ACCEPT_FILTER
|
735
|
-
|
734
|
+
TCP_KEEPALIVE_IDLE, TCP_KEEPALIVE_INTVL, TCP_ACCEPT_FILTER, MULTICAST_HOPS
|
735
|
+
].each { |option| @option_lookup[option] = 0 }
|
736
|
+
|
736
737
|
# long long options
|
737
738
|
[MAXMSGSIZE].each { |option| @option_lookup[option] = 1 }
|
739
|
+
|
740
|
+
# string options
|
741
|
+
[LAST_ENDPOINT].each { |option| @option_lookup[option] = 2 }
|
738
742
|
end
|
739
743
|
|
740
744
|
# these finalizer-related methods cannot live in the CommonSocketBehavior
|
data/lib/ffi-rzmq/version.rb
CHANGED
data/spec/socket_spec.rb
CHANGED
@@ -268,7 +268,17 @@ module ZMQ
|
|
268
268
|
end
|
269
269
|
end # context using option ZMQ::IPV4ONLY
|
270
270
|
|
271
|
-
|
271
|
+
context "using option ZMQ::LAST_ENDPOINT" do
|
272
|
+
it "should return last enpoint" do
|
273
|
+
random_port = bind_to_random_tcp_port(socket, max_tries = 500)
|
274
|
+
array = []
|
275
|
+
rc = socket.getsockopt(ZMQ::LAST_ENDPOINT, array)
|
276
|
+
ZMQ::Util.resultcode_ok?(rc).should == true
|
277
|
+
endpoint_regex = %r{\Atcp://(.*):(\d+)\0\z}
|
278
|
+
array[0].should =~ endpoint_regex
|
279
|
+
Integer(array[0][endpoint_regex, 2]).should == random_port
|
280
|
+
end
|
281
|
+
end
|
272
282
|
end # version2? if/else block
|
273
283
|
|
274
284
|
|
data/spec/spec_helper.rb
CHANGED
@@ -23,14 +23,6 @@ def version3?
|
|
23
23
|
end
|
24
24
|
|
25
25
|
|
26
|
-
SLEEP_SHORT = 0.1
|
27
|
-
SLEEP_LONG = 0.3
|
28
|
-
|
29
|
-
def delivery_sleep() sleep(SLEEP_SHORT); end
|
30
|
-
def connect_sleep() sleep(SLEEP_SHORT); end
|
31
|
-
def bind_sleep() sleep(SLEEP_LONG); end
|
32
|
-
def thread_startup_sleep() sleep(1.0); end
|
33
|
-
|
34
26
|
def connect_to_inproc(socket, endpoint)
|
35
27
|
begin
|
36
28
|
rc = socket.connect(endpoint)
|
metadata
CHANGED
@@ -1,64 +1,64 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-rzmq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Chuck Remes
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-04-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
|
16
|
-
|
15
|
+
type: :runtime
|
16
|
+
version_requirements: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
17
18
|
requirements:
|
18
19
|
- - ! '>='
|
19
20
|
- !ruby/object:Gem::Version
|
20
21
|
version: '0'
|
22
|
+
name: ffi
|
23
|
+
prerelease: false
|
24
|
+
requirement: !ruby/object:Gem::Requirement
|
21
25
|
none: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
27
|
- - ! '>='
|
25
28
|
- !ruby/object:Gem::Version
|
26
29
|
version: '0'
|
27
|
-
none: false
|
28
|
-
name: ffi
|
29
|
-
type: :runtime
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
|
-
|
32
|
-
|
31
|
+
type: :development
|
32
|
+
version_requirements: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
33
34
|
requirements:
|
34
35
|
- - ~>
|
35
36
|
- !ruby/object:Gem::Version
|
36
37
|
version: '2.6'
|
38
|
+
name: rspec
|
39
|
+
prerelease: false
|
40
|
+
requirement: !ruby/object:Gem::Requirement
|
37
41
|
none: false
|
38
|
-
version_requirements: !ruby/object:Gem::Requirement
|
39
42
|
requirements:
|
40
43
|
- - ~>
|
41
44
|
- !ruby/object:Gem::Version
|
42
45
|
version: '2.6'
|
43
|
-
none: false
|
44
|
-
name: rspec
|
45
|
-
type: :development
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
|
-
|
48
|
-
|
47
|
+
type: :development
|
48
|
+
version_requirements: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
49
50
|
requirements:
|
50
51
|
- - ! '>='
|
51
52
|
- !ruby/object:Gem::Version
|
52
53
|
version: '0'
|
54
|
+
name: rake
|
55
|
+
prerelease: false
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
53
57
|
none: false
|
54
|
-
version_requirements: !ruby/object:Gem::Requirement
|
55
58
|
requirements:
|
56
59
|
- - ! '>='
|
57
60
|
- !ruby/object:Gem::Version
|
58
61
|
version: '0'
|
59
|
-
none: false
|
60
|
-
name: rake
|
61
|
-
type: :development
|
62
62
|
description: ! 'This gem wraps the ZeroMQ networking library using the ruby FFI (foreign
|
63
63
|
|
64
64
|
function interface). It''s a pure ruby wrapper so this gem can be loaded
|
@@ -207,20 +207,20 @@ rdoc_options: []
|
|
207
207
|
require_paths:
|
208
208
|
- lib
|
209
209
|
required_ruby_version: !ruby/object:Gem::Requirement
|
210
|
+
none: false
|
210
211
|
requirements:
|
211
212
|
- - ! '>='
|
212
213
|
- !ruby/object:Gem::Version
|
213
214
|
version: '0'
|
214
|
-
none: false
|
215
215
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
216
|
+
none: false
|
216
217
|
requirements:
|
217
218
|
- - ! '>='
|
218
219
|
- !ruby/object:Gem::Version
|
219
220
|
version: '0'
|
220
|
-
none: false
|
221
221
|
requirements: []
|
222
222
|
rubyforge_project: ffi-rzmq
|
223
|
-
rubygems_version: 1.8.
|
223
|
+
rubygems_version: 1.8.25
|
224
224
|
signing_key:
|
225
225
|
specification_version: 3
|
226
226
|
summary: This gem wraps the ZeroMQ (0mq) networking library using Ruby FFI (foreign
|