ffi-rzmq 0.7.0 → 0.7.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/History.txt +4 -0
- data/Rakefile +2 -5
- data/ffi-rzmq.gemspec +2 -2
- data/lib/ffi-rzmq/context.rb +1 -1
- data/lib/ffi-rzmq/message.rb +2 -1
- data/spec/message_spec.rb +8 -0
- data/spec/socket_spec.rb +9 -4
- data/version.txt +1 -1
- metadata +61 -73
data/.gitignore
ADDED
data/History.txt
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
== 0.7.1 / 20110130
|
2
|
+
* Fixed 1.9.1 Binary Encoding bug when UTF8 set as default (Thanks schmurfy)
|
3
|
+
* Improved rubinius compat for specs
|
4
|
+
* Improved spec compatibility on linux
|
1
5
|
== 0.7.0 / 20101222
|
2
6
|
* Improved performance of calls to Socket#getsockopt. There are usually
|
3
7
|
a lot of calls passing RCVMORE, so we now cache those buffers instead
|
data/Rakefile
CHANGED
@@ -4,9 +4,6 @@ rescue LoadError
|
|
4
4
|
abort '### Please install the "bones" gem ###'
|
5
5
|
end
|
6
6
|
|
7
|
-
task :default => 'test:run'
|
8
|
-
task 'gem:release' => 'test:run'
|
9
|
-
|
10
7
|
namespace :win do
|
11
8
|
|
12
9
|
desc 'Build and install gem under Windows. Mr Bones just has to break things using tar.'
|
@@ -16,8 +13,8 @@ namespace :win do
|
|
16
13
|
rm_rf PKG_PATH
|
17
14
|
system "gem build #{NAME}.gemspec"
|
18
15
|
mkdir_p PKG_PATH
|
19
|
-
mv "#{NAME}-0.
|
20
|
-
system "gem install #{PKG_PATH}/#{NAME}-0.
|
16
|
+
mv "#{NAME}-0.7.1.gem", PKG_PATH
|
17
|
+
system "gem install #{PKG_PATH}/#{NAME}-0.7.1.gem"
|
21
18
|
end
|
22
19
|
end
|
23
20
|
|
data/ffi-rzmq.gemspec
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{ffi-rzmq}
|
5
|
-
s.version = "0.7.
|
5
|
+
s.version = "0.7.1"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["Chuck Remes"]
|
9
|
-
s.date = %q{
|
9
|
+
s.date = %q{2011-01-30}
|
10
10
|
s.description = %q{This gem wraps the ZeroMQ networking library using the ruby FFI (foreign
|
11
11
|
function interface). It's a pure ruby wrapper so this gem can be loaded
|
12
12
|
and run by any ruby runtime that supports FFI. That's all of them:
|
data/lib/ffi-rzmq/context.rb
CHANGED
data/lib/ffi-rzmq/message.rb
CHANGED
@@ -114,7 +114,8 @@ module ZMQ
|
|
114
114
|
# called multiple times on the same instance.
|
115
115
|
#
|
116
116
|
def copy_in_string string
|
117
|
-
|
117
|
+
string_size = string.respond_to?(:bytesize) ? string.bytesize : string.size
|
118
|
+
copy_in_bytes string, string_size if string
|
118
119
|
end
|
119
120
|
|
120
121
|
# Makes a copy of +len+ bytes from the ruby string +bytes+. Library
|
data/spec/message_spec.rb
CHANGED
@@ -21,6 +21,14 @@ module ZMQ
|
|
21
21
|
lambda { message.copy_in_string("new text") }.should raise_error(MessageError)
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
context "when copying binary data" do
|
26
|
+
it "should find the correct length by ignoring encoding" do
|
27
|
+
message = Message.new
|
28
|
+
message.copy_in_string("\x83\x6e\x04\x00\x00\x44\xd1\x81")
|
29
|
+
message.size.should == 8
|
30
|
+
end
|
31
|
+
end
|
24
32
|
|
25
33
|
end # describe Message
|
26
34
|
|
data/spec/socket_spec.rb
CHANGED
@@ -12,7 +12,7 @@ module ZMQ
|
|
12
12
|
|
13
13
|
|
14
14
|
it "should raise an error for a nil context" do
|
15
|
-
lambda { Socket.new(FFI::Pointer
|
15
|
+
lambda { Socket.new(FFI::Pointer.new(0), ZMQ::REQ) }.should raise_exception(ZMQ::ContextError)
|
16
16
|
end
|
17
17
|
|
18
18
|
[ZMQ::REQ, ZMQ::REP, ZMQ::XREQ, ZMQ::XREP, ZMQ::PUB, ZMQ::SUB, ZMQ::PUSH, ZMQ::PULL, ZMQ::PAIR].each do |socket_type|
|
@@ -369,9 +369,14 @@ module ZMQ
|
|
369
369
|
attach_function :getsockopt, [:int, :int, :int, :pointer, :pointer], :int
|
370
370
|
end # module LibC
|
371
371
|
|
372
|
-
|
373
|
-
|
374
|
-
|
372
|
+
if RUBY_PLATFORM =~ /linux/ || (RUBY_PLATFORM == 'java' && `uname` =~ /linux/i)
|
373
|
+
so_rcvbuf = 8
|
374
|
+
sol_socket = 1
|
375
|
+
else #OSX
|
376
|
+
so_rcvbuf = 0x1002
|
377
|
+
sol_socket = 0xffff
|
378
|
+
end
|
379
|
+
|
375
380
|
socklen_size = FFI::MemoryPointer.new :uint32
|
376
381
|
socklen_size.write_int 8
|
377
382
|
rcvbuf = FFI::MemoryPointer.new :int64
|
data/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.1
|
metadata
CHANGED
@@ -1,37 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ffi-rzmq
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 7
|
8
|
-
- 0
|
9
|
-
version: 0.7.0
|
4
|
+
prerelease:
|
5
|
+
version: 0.7.1
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
|
-
- Chuck Remes
|
8
|
+
- Chuck Remes
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date:
|
13
|
+
date: 2011-01-30 00:00:00 -08:00
|
18
14
|
default_executable:
|
19
15
|
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
- 4
|
32
|
-
version: 3.5.4
|
33
|
-
type: :development
|
34
|
-
version_requirements: *id001
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: bones
|
18
|
+
prerelease: false
|
19
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
20
|
+
none: false
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 3.6.2
|
25
|
+
type: :development
|
26
|
+
version_requirements: *id001
|
35
27
|
description: |-
|
36
28
|
This gem wraps the ZeroMQ networking library using the ruby FFI (foreign
|
37
29
|
function interface). It's a pure ruby wrapper so this gem can be loaded
|
@@ -50,73 +42,69 @@ executables: []
|
|
50
42
|
extensions: []
|
51
43
|
|
52
44
|
extra_rdoc_files:
|
53
|
-
- History.txt
|
54
|
-
- README.rdoc
|
55
|
-
- examples/README.rdoc
|
56
|
-
- version.txt
|
45
|
+
- History.txt
|
46
|
+
- README.rdoc
|
47
|
+
- examples/README.rdoc
|
57
48
|
files:
|
58
|
-
- .bnsignore
|
59
|
-
-
|
60
|
-
-
|
61
|
-
-
|
62
|
-
-
|
63
|
-
- examples/
|
64
|
-
- examples/
|
65
|
-
- examples/
|
66
|
-
- examples/
|
67
|
-
- examples/
|
68
|
-
- examples/
|
69
|
-
- examples/
|
70
|
-
- examples/
|
71
|
-
- examples/
|
72
|
-
- examples/
|
73
|
-
-
|
74
|
-
-
|
75
|
-
- lib/ffi-rzmq
|
76
|
-
- lib/ffi-rzmq/
|
77
|
-
- lib/ffi-rzmq/
|
78
|
-
- lib/ffi-rzmq/
|
79
|
-
- lib/ffi-rzmq/
|
80
|
-
- lib/ffi-rzmq/
|
81
|
-
- lib/ffi-rzmq/
|
82
|
-
- lib/ffi-rzmq/
|
83
|
-
-
|
84
|
-
- spec/
|
85
|
-
- spec/
|
86
|
-
- spec/
|
87
|
-
- spec/
|
88
|
-
- spec/
|
89
|
-
-
|
49
|
+
- .bnsignore
|
50
|
+
- .gitignore
|
51
|
+
- History.txt
|
52
|
+
- README.rdoc
|
53
|
+
- Rakefile
|
54
|
+
- examples/README.rdoc
|
55
|
+
- examples/local_lat.rb
|
56
|
+
- examples/local_lat_poll.rb
|
57
|
+
- examples/local_lat_zerocopy.rb
|
58
|
+
- examples/local_throughput.rb
|
59
|
+
- examples/publish_subscribe.rb
|
60
|
+
- examples/remote_lat.rb
|
61
|
+
- examples/remote_lat_zerocopy.rb
|
62
|
+
- examples/remote_throughput.rb
|
63
|
+
- examples/reqrep_poll.rb
|
64
|
+
- examples/request_response.rb
|
65
|
+
- ffi-rzmq.gemspec
|
66
|
+
- lib/ffi-rzmq.rb
|
67
|
+
- lib/ffi-rzmq/context.rb
|
68
|
+
- lib/ffi-rzmq/exceptions.rb
|
69
|
+
- lib/ffi-rzmq/message.rb
|
70
|
+
- lib/ffi-rzmq/poll.rb
|
71
|
+
- lib/ffi-rzmq/poll_items.rb
|
72
|
+
- lib/ffi-rzmq/socket.rb
|
73
|
+
- lib/ffi-rzmq/wrapper.rb
|
74
|
+
- lib/ffi-rzmq/zmq.rb
|
75
|
+
- spec/context_spec.rb
|
76
|
+
- spec/message_spec.rb
|
77
|
+
- spec/pushpull_spec.rb
|
78
|
+
- spec/reqrep_spec.rb
|
79
|
+
- spec/socket_spec.rb
|
80
|
+
- spec/spec_helper.rb
|
81
|
+
- version.txt
|
90
82
|
has_rdoc: true
|
91
83
|
homepage: http://github.com/chuckremes/ffi-rzmq
|
92
84
|
licenses: []
|
93
85
|
|
94
86
|
post_install_message:
|
95
87
|
rdoc_options:
|
96
|
-
- --main
|
97
|
-
- README.rdoc
|
88
|
+
- --main
|
89
|
+
- README.rdoc
|
98
90
|
require_paths:
|
99
|
-
- lib
|
91
|
+
- lib
|
100
92
|
required_ruby_version: !ruby/object:Gem::Requirement
|
101
93
|
none: false
|
102
94
|
requirements:
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
- 0
|
107
|
-
version: "0"
|
95
|
+
- - ">="
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: "0"
|
108
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
99
|
none: false
|
110
100
|
requirements:
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
- 0
|
115
|
-
version: "0"
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: "0"
|
116
104
|
requirements: []
|
117
105
|
|
118
106
|
rubyforge_project: ffi-rzmq
|
119
|
-
rubygems_version: 1.
|
107
|
+
rubygems_version: 1.4.2
|
120
108
|
signing_key:
|
121
109
|
specification_version: 3
|
122
110
|
summary: This gem wraps the ZeroMQ networking library using the ruby FFI (foreign function interface).
|