ffi-rzmq 1.0.1 → 1.0.2

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.
@@ -2,18 +2,14 @@ before_install: sudo apt-get install libzmq3-dev
2
2
  script: bundle exec rspec
3
3
  language: ruby
4
4
  rvm:
5
- - 1.9.2
6
5
  - 1.9.3
7
6
  - 2.0.0
8
7
  - ruby-head
9
- - jruby-18mode
10
8
  - jruby-19mode
11
9
  - jruby-head
12
- - rbx-18mode
13
10
  - rbx-19mode
14
11
 
15
12
  matrix:
16
13
  allow_failures:
17
14
  - rvm: ruby-head
18
15
  - rvm: jruby-head
19
- - rvm: 1.9.2
@@ -23,3 +23,7 @@ Pawel Pacana, github: pawelpacana
23
23
  Brian Ford, github: brixen
24
24
 
25
25
  Nilson Santos F. Jr., github: nilsonfsj
26
+
27
+ Simon Chiang , github: thinkerbot
28
+
29
+ Harlow Ward, github: harlow
@@ -1,3 +1,15 @@
1
+ == 1.0.2 / 20130929
2
+ * Fix for issue #94. Now includes local_path when searching for a libzmq
3
+ to load.
4
+
5
+ * Fix for issue #92. Context and Socket finalizers now track the process'
6
+ PID to handle a special case when forking a process. Thanks to
7
+ thinkerbot for the issue and a fix. (Spec is disabled on JRuby since
8
+ it does not support fork().)
9
+
10
+ * Fix a few RSpec deprecation warnings related to expectations on specific
11
+ Exception types.
12
+
1
13
  == 1.0.1 / 20130318
2
14
  * Fix for issue #77 was not included in 1.0.0 release by mistake.
3
15
 
@@ -30,6 +30,9 @@ Check out the latest performance results:
30
30
 
31
31
  http://www.zeromq.org/bindings:ruby-ffi
32
32
 
33
+ The short version is that the FFI bindings are a few microseconds slower
34
+ than using a C extension.
35
+
33
36
  == FEATURES/PROBLEMS:
34
37
 
35
38
  This gem needs more tests. This gem has been battle tested by myself
@@ -131,14 +134,13 @@ time of installation.
131
134
 
132
135
  * ffi (>= 1.0.0)
133
136
 
134
- This is a requirement for MRI only. Both Rubinius and JRuby have FFI support built
137
+ This is a requirement for MRI and Rubinius. JRuby has FFI support built
135
138
  in as a standard component. Do *not* run this gem under MRI with an old 'ffi' gem.
136
139
  It will crash randomly and you will be sad.
137
140
 
138
141
 
139
142
  == INSTALL:
140
143
 
141
- A full gem has been released to rubygems.org as of release 0.5.0.
142
144
  Make sure the ZeroMQ library is already installed on your system.
143
145
 
144
146
  % gem install ffi-rzmq # should grab the latest release
@@ -149,15 +149,15 @@ module ZMQ
149
149
  private
150
150
 
151
151
  def define_finalizer
152
- ObjectSpace.define_finalizer(self, self.class.close(@context))
152
+ ObjectSpace.define_finalizer(self, self.class.close(@context, Process.pid))
153
153
  end
154
154
 
155
155
  def remove_finalizer
156
156
  ObjectSpace.undefine_finalizer self
157
157
  end
158
158
 
159
- def self.close context
160
- Proc.new { LibZMQ.zmq_term context unless context.null? }
159
+ def self.close context, pid
160
+ Proc.new { LibZMQ.zmq_term context if !context.null? && Process.pid == pid }
161
161
  end
162
162
  end
163
163
 
@@ -10,17 +10,15 @@ module ZMQ
10
10
  # bias the library discovery to a path inside the gem first, then
11
11
  # to the usual system paths
12
12
  inside_gem = File.join(File.dirname(__FILE__), '..', '..', 'ext')
13
- if FFI::Platform::IS_WINDOWS
14
- local_path=ENV['PATH'].split(';')
15
- else
16
- local_path=ENV['PATH'].split(':')
17
- end
18
- ZMQ_LIB_PATHS = [
19
- inside_gem, '/usr/local/lib', '/opt/local/lib', '/usr/local/homebrew/lib', '/usr/lib64'
13
+ local_path = FFI::Platform::IS_WINDOWS ? ENV['PATH'].split(';') : ENV['PATH'].split(':')
14
+
15
+ # Search for libzmq in the following order...
16
+ ZMQ_LIB_PATHS = [inside_gem] + local_path + [
17
+ '/usr/local/lib', '/opt/local/lib', '/usr/local/homebrew/lib', '/usr/lib64'
20
18
  ].map{|path| "#{path}/libzmq.#{FFI::Platform::LIBSUFFIX}"}
21
19
  ffi_lib(ZMQ_LIB_PATHS + %w{libzmq})
22
20
  rescue LoadError
23
- if ZMQ_LIB_PATHS.push(*local_path).any? {|path|
21
+ if ZMQ_LIB_PATHS.any? {|path|
24
22
  File.file? File.join(path, "libzmq.#{FFI::Platform::LIBSUFFIX}")}
25
23
  warn "Unable to load this gem. The libzmq library exists, but cannot be loaded."
26
24
  warn "If this is Windows:"
@@ -629,16 +629,16 @@ module ZMQ
629
629
  # module; they *must* be in the class definition directly
630
630
 
631
631
  def define_finalizer
632
- ObjectSpace.define_finalizer(self, self.class.close(@socket))
632
+ ObjectSpace.define_finalizer(self, self.class.close(@socket, Process.pid))
633
633
  end
634
634
 
635
635
  def remove_finalizer
636
636
  ObjectSpace.undefine_finalizer self
637
637
  end
638
638
 
639
- def self.close socket
639
+ def self.close socket, pid
640
640
  Proc.new do
641
- LibZMQ.zmq_close(socket) if socket && !socket.null?
641
+ LibZMQ.zmq_close(socket) if socket && !socket.nil? && Process.pid == pid
642
642
  end
643
643
  end
644
644
  end # class Socket for version2
@@ -745,15 +745,15 @@ module ZMQ
745
745
  # module; they *must* be in the class definition directly
746
746
 
747
747
  def define_finalizer
748
- ObjectSpace.define_finalizer(self, self.class.close(@socket))
748
+ ObjectSpace.define_finalizer(self, self.class.close(@socket, Process.pid))
749
749
  end
750
750
 
751
751
  def remove_finalizer
752
752
  ObjectSpace.undefine_finalizer self
753
753
  end
754
754
 
755
- def self.close socket
756
- Proc.new { LibZMQ.zmq_close socket }
755
+ def self.close socket, pid
756
+ Proc.new { LibZMQ.zmq_close socket if Process.pid == pid }
757
757
  end
758
758
  end # Socket for version3
759
759
  end # LibZMQ.version3?
@@ -1,3 +1,3 @@
1
1
  module ZMQ
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -99,7 +99,7 @@ module ZMQ
99
99
  context "when allocating a socket" do
100
100
  it "should return nil when allocation fails" do
101
101
  ctx = Context.new
102
- LibZMQ.stub!(:zmq_socket => nil)
102
+ LibZMQ.stub(:zmq_socket => nil)
103
103
  ctx.socket(ZMQ::REQ).should be_nil
104
104
  end
105
105
  end # context socket
@@ -16,10 +16,10 @@ module ZMQ
16
16
 
17
17
  context "#register" do
18
18
 
19
- let(:pollable) { mock('pollable') }
19
+ let(:pollable) { double('pollable') }
20
20
  let(:poller) { Poller.new }
21
21
  let(:socket) { FFI::MemoryPointer.new(4) }
22
- let(:io) { stub(:posix_fileno => fd) }
22
+ let(:io) { double(:posix_fileno => fd) }
23
23
  let(:fd) { 1 }
24
24
 
25
25
  it "returns false when given a nil pollable" do
@@ -53,10 +53,10 @@ module ZMQ
53
53
 
54
54
  context "#deregister" do
55
55
 
56
- let(:pollable) { mock('pollable') }
56
+ let(:pollable) { double('pollable') }
57
57
  let(:poller) { Poller.new }
58
58
  let(:socket) { FFI::MemoryPointer.new(4) }
59
- let(:io) { stub(:posix_fileno => fd) }
59
+ let(:io) { double(:posix_fileno => fd) }
60
60
  let(:fd) { 1 }
61
61
 
62
62
  it "returns true when deregistered pollable from event" do
@@ -26,14 +26,14 @@ module ZMQ
26
26
  lambda do
27
27
  s = Socket.new(@ctx.pointer, ZMQ::REQ)
28
28
  s.close
29
- end.should_not raise_exception(ZMQ::ContextError)
29
+ end.should_not raise_exception
30
30
  end
31
31
 
32
32
  it "works with a Context instance as the context_ptr" do
33
33
  lambda do
34
34
  s = Socket.new(@ctx, ZMQ::SUB)
35
35
  s.close
36
- end.should_not raise_exception(ZMQ::ContextError)
36
+ end.should_not raise_exception
37
37
  end
38
38
 
39
39
 
@@ -47,8 +47,8 @@ module ZMQ
47
47
  end # each socket_type
48
48
 
49
49
  it "should set the :socket accessor to the raw socket allocated by libzmq" do
50
- socket = mock('socket')
51
- socket.stub!(:null? => false)
50
+ socket = double('socket')
51
+ socket.stub(:null? => false)
52
52
  LibZMQ.should_receive(:zmq_socket).and_return(socket)
53
53
 
54
54
  sock = Socket.new(@ctx.pointer, ZMQ::REQ)
@@ -60,6 +60,15 @@ module ZMQ
60
60
  sock = Socket.new(@ctx.pointer, ZMQ::REQ)
61
61
  sock.close
62
62
  end
63
+
64
+ unless jruby?
65
+ it "should track pid in finalizer so subsequent fork will not segfault" do
66
+ sock = Socket.new(@ctx.pointer, ZMQ::REQ)
67
+ pid = fork { }
68
+ Process.wait(pid)
69
+ sock.close
70
+ end
71
+ end
63
72
  end # context initializing
64
73
 
65
74
 
@@ -22,6 +22,10 @@ def version3?
22
22
  ZMQ::LibZMQ.version3?
23
23
  end
24
24
 
25
+ def jruby?
26
+ RUBY_PLATFORM =~ /java/
27
+ end
28
+
25
29
 
26
30
  def connect_to_inproc(socket, endpoint)
27
31
  begin
@@ -30,16 +34,6 @@ def connect_to_inproc(socket, endpoint)
30
34
  end
31
35
 
32
36
  module APIHelper
33
- def stub_libzmq
34
- @err_str_mock = mock("error string")
35
-
36
- LibZMQ.stub!(
37
- :zmq_init => 0,
38
- :zmq_errno => 0,
39
- :zmq_sterror => @err_str_mock
40
- )
41
- end
42
-
43
37
  def poller_setup
44
38
  @helper_poller ||= ZMQ::Poller.new
45
39
  end
metadata CHANGED
@@ -1,252 +1,173 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffi-rzmq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
5
- prerelease:
4
+ version: 1.0.2
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Chuck Remes
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-18 00:00:00.000000000 Z
12
+ date: 2013-09-29 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- type: :runtime
16
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
17
16
  none: false
18
17
  requirements:
19
- - - ! '>='
18
+ - - '>='
20
19
  - !ruby/object:Gem::Version
21
20
  version: '0'
22
21
  name: ffi
23
- prerelease: false
24
- requirement: !ruby/object:Gem::Requirement
22
+ type: :runtime
23
+ version_requirements: !ruby/object:Gem::Requirement
25
24
  none: false
26
25
  requirements:
27
- - - ! '>='
26
+ - - '>='
28
27
  - !ruby/object:Gem::Version
29
28
  version: '0'
29
+ prerelease: false
30
30
  - !ruby/object:Gem::Dependency
31
- type: :development
32
- version_requirements: !ruby/object:Gem::Requirement
31
+ requirement: !ruby/object:Gem::Requirement
33
32
  none: false
34
33
  requirements:
35
34
  - - ~>
36
35
  - !ruby/object:Gem::Version
37
36
  version: '2.6'
38
37
  name: rspec
39
- prerelease: false
40
- requirement: !ruby/object:Gem::Requirement
38
+ type: :development
39
+ version_requirements: !ruby/object:Gem::Requirement
41
40
  none: false
42
41
  requirements:
43
42
  - - ~>
44
43
  - !ruby/object:Gem::Version
45
44
  version: '2.6'
45
+ prerelease: false
46
46
  - !ruby/object:Gem::Dependency
47
- type: :development
48
- version_requirements: !ruby/object:Gem::Requirement
47
+ requirement: !ruby/object:Gem::Requirement
49
48
  none: false
50
49
  requirements:
51
- - - ! '>='
50
+ - - '>='
52
51
  - !ruby/object:Gem::Version
53
52
  version: '0'
54
53
  name: rake
55
- prerelease: false
56
- requirement: !ruby/object:Gem::Requirement
54
+ type: :development
55
+ version_requirements: !ruby/object:Gem::Requirement
57
56
  none: false
58
57
  requirements:
59
- - - ! '>='
58
+ - - '>='
60
59
  - !ruby/object:Gem::Version
61
60
  version: '0'
62
- description: ! 'This gem wraps the ZeroMQ networking library using the ruby FFI (foreign
63
-
64
- function interface). It''s a pure ruby wrapper so this gem can be loaded
65
-
66
- and run by any ruby runtime that supports FFI. That''s all of the major ones -
67
-
68
- MRI, Rubinius and JRuby.'
61
+ prerelease: false
62
+ description: |-
63
+ This gem wraps the ZeroMQ networking library using the ruby FFI (foreign
64
+ function interface). It's a pure ruby wrapper so this gem can be loaded
65
+ and run by any ruby runtime that supports FFI. That's all of the major ones -
66
+ MRI, Rubinius and JRuby.
69
67
  email:
70
68
  - git@chuckremes.com
71
69
  executables: []
72
70
  extensions: []
73
71
  extra_rdoc_files: []
74
72
  files:
75
- - !binary |-
76
- LmJuc2lnbm9yZQ==
77
- - !binary |-
78
- LmdpdGlnbm9yZQ==
79
- - !binary |-
80
- LnRyYXZpcy55bWw=
81
- - !binary |-
82
- QVVUSE9SUy50eHQ=
83
- - !binary |-
84
- R2VtZmlsZQ==
85
- - !binary |-
86
- SGlzdG9yeS50eHQ=
87
- - !binary |-
88
- UkVBRE1FLnJkb2M=
89
- - !binary |-
90
- UmFrZWZpbGU=
91
- - !binary |-
92
- ZXhhbXBsZXMvUkVBRE1FLnJkb2M=
93
- - !binary |-
94
- ZXhhbXBsZXMvdjJhcGkvbGF0ZW5jeV9tZWFzdXJlbWVudC5yYg==
95
- - !binary |-
96
- ZXhhbXBsZXMvdjJhcGkvbG9jYWxfbGF0LnJi
97
- - !binary |-
98
- ZXhhbXBsZXMvdjJhcGkvbG9jYWxfbGF0X3BvbGwucmI=
99
- - !binary |-
100
- ZXhhbXBsZXMvdjJhcGkvbG9jYWxfdGhyb3VnaHB1dC5yYg==
101
- - !binary |-
102
- ZXhhbXBsZXMvdjJhcGkvcHViLnJi
103
- - !binary |-
104
- ZXhhbXBsZXMvdjJhcGkvcHVibGlzaF9zdWJzY3JpYmUucmI=
105
- - !binary |-
106
- ZXhhbXBsZXMvdjJhcGkvcmVtb3RlX2xhdC5yYg==
107
- - !binary |-
108
- ZXhhbXBsZXMvdjJhcGkvcmVtb3RlX3Rocm91Z2hwdXQucmI=
109
- - !binary |-
110
- ZXhhbXBsZXMvdjJhcGkvcmVxcmVwX3BvbGwucmI=
111
- - !binary |-
112
- ZXhhbXBsZXMvdjJhcGkvcmVxdWVzdF9yZXNwb25zZS5yYg==
113
- - !binary |-
114
- ZXhhbXBsZXMvdjJhcGkvc3ViLnJi
115
- - !binary |-
116
- ZXhhbXBsZXMvdjJhcGkvdGhyb3VnaHB1dF9tZWFzdXJlbWVudC5yYg==
117
- - !binary |-
118
- ZXhhbXBsZXMvdjJhcGkveHJlcXhyZXBfcG9sbC5yYg==
119
- - !binary |-
120
- ZXhhbXBsZXMvdjNhcGkvbGF0ZW5jeV9tZWFzdXJlbWVudC5yYg==
121
- - !binary |-
122
- ZXhhbXBsZXMvdjNhcGkvbG9jYWxfbGF0LnJi
123
- - !binary |-
124
- ZXhhbXBsZXMvdjNhcGkvbG9jYWxfbGF0X3BvbGwucmI=
125
- - !binary |-
126
- ZXhhbXBsZXMvdjNhcGkvbG9jYWxfdGhyb3VnaHB1dC5yYg==
127
- - !binary |-
128
- ZXhhbXBsZXMvdjNhcGkvcHViLnJi
129
- - !binary |-
130
- ZXhhbXBsZXMvdjNhcGkvcHVibGlzaF9zdWJzY3JpYmUucmI=
131
- - !binary |-
132
- ZXhhbXBsZXMvdjNhcGkvcmVtb3RlX2xhdC5yYg==
133
- - !binary |-
134
- ZXhhbXBsZXMvdjNhcGkvcmVtb3RlX3Rocm91Z2hwdXQucmI=
135
- - !binary |-
136
- ZXhhbXBsZXMvdjNhcGkvcmVxcmVwX3BvbGwucmI=
137
- - !binary |-
138
- ZXhhbXBsZXMvdjNhcGkvcmVxdWVzdF9yZXNwb25zZS5yYg==
139
- - !binary |-
140
- ZXhhbXBsZXMvdjNhcGkvc3ViLnJi
141
- - !binary |-
142
- ZXhhbXBsZXMvdjNhcGkvdGhyb3VnaHB1dF9tZWFzdXJlbWVudC5yYg==
143
- - !binary |-
144
- ZXhhbXBsZXMvdjNhcGkveHJlcXhyZXBfcG9sbC5yYg==
145
- - !binary |-
146
- ZXh0L1JFQURNRQ==
147
- - !binary |-
148
- ZmZpLXJ6bXEuZ2Vtc3BlYw==
149
- - !binary |-
150
- bGliL2ZmaS1yem1xLnJi
151
- - !binary |-
152
- bGliL2ZmaS1yem1xL2NvbnN0YW50cy5yYg==
153
- - !binary |-
154
- bGliL2ZmaS1yem1xL2NvbnRleHQucmI=
155
- - !binary |-
156
- bGliL2ZmaS1yem1xL2RldmljZS5yYg==
157
- - !binary |-
158
- bGliL2ZmaS1yem1xL2V4Y2VwdGlvbnMucmI=
159
- - !binary |-
160
- bGliL2ZmaS1yem1xL2xpYmMucmI=
161
- - !binary |-
162
- bGliL2ZmaS1yem1xL2xpYnptcS5yYg==
163
- - !binary |-
164
- bGliL2ZmaS1yem1xL21lc3NhZ2UucmI=
165
- - !binary |-
166
- bGliL2ZmaS1yem1xL3BvbGwucmI=
167
- - !binary |-
168
- bGliL2ZmaS1yem1xL3BvbGxfaXRlbS5yYg==
169
- - !binary |-
170
- bGliL2ZmaS1yem1xL3BvbGxfaXRlbXMucmI=
171
- - !binary |-
172
- bGliL2ZmaS1yem1xL3NvY2tldC5yYg==
173
- - !binary |-
174
- bGliL2ZmaS1yem1xL3V0aWwucmI=
175
- - !binary |-
176
- bGliL2ZmaS1yem1xL3ZlcnNpb24ucmI=
177
- - !binary |-
178
- bGliL2lvX2V4dGVuc2lvbnMucmI=
179
- - !binary |-
180
- c3BlYy9jb250ZXh0X3NwZWMucmI=
181
- - !binary |-
182
- c3BlYy9kZXZpY2Vfc3BlYy5yYg==
183
- - !binary |-
184
- c3BlYy9tZXNzYWdlX3NwZWMucmI=
185
- - !binary |-
186
- c3BlYy9tdWx0aXBhcnRfc3BlYy5yYg==
187
- - !binary |-
188
- c3BlYy9ub25ibG9ja2luZ19yZWN2X3NwZWMucmI=
189
- - !binary |-
190
- c3BlYy9wb2xsX3NwZWMucmI=
191
- - !binary |-
192
- c3BlYy9wdXNocHVsbF9zcGVjLnJi
193
- - !binary |-
194
- c3BlYy9yZXFyZXBfc3BlYy5yYg==
195
- - !binary |-
196
- c3BlYy9zb2NrZXRfc3BlYy5yYg==
197
- - !binary |-
198
- c3BlYy9zcGVjX2hlbHBlci5yYg==
199
- - !binary |-
200
- c3BlYy9zdXBwb3J0L3Rlc3QuY3J0
201
- - !binary |-
202
- c3BlYy9zdXBwb3J0L3Rlc3Qua2V5
73
+ - .bnsignore
74
+ - .gitignore
75
+ - .travis.yml
76
+ - AUTHORS.txt
77
+ - Gemfile
78
+ - History.txt
79
+ - README.rdoc
80
+ - Rakefile
81
+ - examples/README.rdoc
82
+ - examples/v2api/latency_measurement.rb
83
+ - examples/v2api/local_lat.rb
84
+ - examples/v2api/local_lat_poll.rb
85
+ - examples/v2api/local_throughput.rb
86
+ - examples/v2api/pub.rb
87
+ - examples/v2api/publish_subscribe.rb
88
+ - examples/v2api/remote_lat.rb
89
+ - examples/v2api/remote_throughput.rb
90
+ - examples/v2api/reqrep_poll.rb
91
+ - examples/v2api/request_response.rb
92
+ - examples/v2api/sub.rb
93
+ - examples/v2api/throughput_measurement.rb
94
+ - examples/v2api/xreqxrep_poll.rb
95
+ - examples/v3api/latency_measurement.rb
96
+ - examples/v3api/local_lat.rb
97
+ - examples/v3api/local_lat_poll.rb
98
+ - examples/v3api/local_throughput.rb
99
+ - examples/v3api/pub.rb
100
+ - examples/v3api/publish_subscribe.rb
101
+ - examples/v3api/remote_lat.rb
102
+ - examples/v3api/remote_throughput.rb
103
+ - examples/v3api/reqrep_poll.rb
104
+ - examples/v3api/request_response.rb
105
+ - examples/v3api/sub.rb
106
+ - examples/v3api/throughput_measurement.rb
107
+ - examples/v3api/xreqxrep_poll.rb
108
+ - ext/README
109
+ - ffi-rzmq.gemspec
110
+ - lib/ffi-rzmq.rb
111
+ - lib/ffi-rzmq/constants.rb
112
+ - lib/ffi-rzmq/context.rb
113
+ - lib/ffi-rzmq/device.rb
114
+ - lib/ffi-rzmq/exceptions.rb
115
+ - lib/ffi-rzmq/libc.rb
116
+ - lib/ffi-rzmq/libzmq.rb
117
+ - lib/ffi-rzmq/message.rb
118
+ - lib/ffi-rzmq/poll.rb
119
+ - lib/ffi-rzmq/poll_item.rb
120
+ - lib/ffi-rzmq/poll_items.rb
121
+ - lib/ffi-rzmq/socket.rb
122
+ - lib/ffi-rzmq/util.rb
123
+ - lib/ffi-rzmq/version.rb
124
+ - lib/io_extensions.rb
125
+ - spec/context_spec.rb
126
+ - spec/device_spec.rb
127
+ - spec/message_spec.rb
128
+ - spec/multipart_spec.rb
129
+ - spec/nonblocking_recv_spec.rb
130
+ - spec/poll_spec.rb
131
+ - spec/pushpull_spec.rb
132
+ - spec/reqrep_spec.rb
133
+ - spec/socket_spec.rb
134
+ - spec/spec_helper.rb
135
+ - spec/support/test.crt
136
+ - spec/support/test.key
203
137
  homepage: http://github.com/chuckremes/ffi-rzmq
204
138
  licenses: []
205
- post_install_message:
139
+ post_install_message:
206
140
  rdoc_options: []
207
141
  require_paths:
208
142
  - lib
209
143
  required_ruby_version: !ruby/object:Gem::Requirement
210
144
  none: false
211
145
  requirements:
212
- - - ! '>='
146
+ - - '>='
213
147
  - !ruby/object:Gem::Version
214
148
  version: '0'
215
149
  required_rubygems_version: !ruby/object:Gem::Requirement
216
150
  none: false
217
151
  requirements:
218
- - - ! '>='
152
+ - - '>='
219
153
  - !ruby/object:Gem::Version
220
154
  version: '0'
221
155
  requirements: []
222
156
  rubyforge_project: ffi-rzmq
223
- rubygems_version: 1.8.25
224
- signing_key:
157
+ rubygems_version: 1.8.24
158
+ signing_key:
225
159
  specification_version: 3
226
- summary: This gem wraps the ZeroMQ (0mq) networking library using Ruby FFI (foreign
227
- function interface).
160
+ summary: This gem wraps the ZeroMQ (0mq) networking library using Ruby FFI (foreign function interface).
228
161
  test_files:
229
- - !binary |-
230
- c3BlYy9jb250ZXh0X3NwZWMucmI=
231
- - !binary |-
232
- c3BlYy9kZXZpY2Vfc3BlYy5yYg==
233
- - !binary |-
234
- c3BlYy9tZXNzYWdlX3NwZWMucmI=
235
- - !binary |-
236
- c3BlYy9tdWx0aXBhcnRfc3BlYy5yYg==
237
- - !binary |-
238
- c3BlYy9ub25ibG9ja2luZ19yZWN2X3NwZWMucmI=
239
- - !binary |-
240
- c3BlYy9wb2xsX3NwZWMucmI=
241
- - !binary |-
242
- c3BlYy9wdXNocHVsbF9zcGVjLnJi
243
- - !binary |-
244
- c3BlYy9yZXFyZXBfc3BlYy5yYg==
245
- - !binary |-
246
- c3BlYy9zb2NrZXRfc3BlYy5yYg==
247
- - !binary |-
248
- c3BlYy9zcGVjX2hlbHBlci5yYg==
249
- - !binary |-
250
- c3BlYy9zdXBwb3J0L3Rlc3QuY3J0
251
- - !binary |-
252
- c3BlYy9zdXBwb3J0L3Rlc3Qua2V5
162
+ - spec/context_spec.rb
163
+ - spec/device_spec.rb
164
+ - spec/message_spec.rb
165
+ - spec/multipart_spec.rb
166
+ - spec/nonblocking_recv_spec.rb
167
+ - spec/poll_spec.rb
168
+ - spec/pushpull_spec.rb
169
+ - spec/reqrep_spec.rb
170
+ - spec/socket_spec.rb
171
+ - spec/spec_helper.rb
172
+ - spec/support/test.crt
173
+ - spec/support/test.key