protobuf 2.7.2 → 2.7.3
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/README.md +5 -5
- data/lib/protobuf/cli.rb +13 -4
- data/lib/protobuf/rpc/servers/evented_runner.rb +7 -2
- data/lib/protobuf/rpc/servers/socket_runner.rb +6 -2
- data/lib/protobuf/rpc/servers/zmq/broker.rb +2 -3
- data/lib/protobuf/rpc/servers/zmq/server.rb +20 -8
- data/lib/protobuf/rpc/servers/zmq/worker.rb +1 -1
- data/lib/protobuf/rpc/servers/zmq_runner.rb +14 -4
- data/lib/protobuf/version.rb +1 -1
- data/spec/functional/zmq_server_spec.rb +7 -1
- data/spec/lib/protobuf/cli_spec.rb +46 -0
- data/spec/lib/protobuf/rpc/servers/zmq/broker_spec.rb +1 -1
- data/spec/support/server.rb +1 -0
- metadata +97 -113
data/README.md
CHANGED
@@ -92,11 +92,11 @@ end
|
|
92
92
|
```
|
93
93
|
|
94
94
|
___Note:__ The generator will pre-define all the classes empty and then
|
95
|
-
re-open to apply the defined fields. This is an
|
95
|
+
re-open to apply the defined fields. This is an optimization to prevent
|
96
96
|
recursive field errors._
|
97
97
|
|
98
|
-
The generated class is now just a plain old ruby object
|
99
|
-
can use it however you wish.
|
98
|
+
The generated class is now just a plain old ruby object.
|
99
|
+
You can use it however you wish.
|
100
100
|
|
101
101
|
```ruby
|
102
102
|
require 'lib/foo/user.pb'
|
@@ -340,7 +340,7 @@ that the phone company disconnected their house. Sad and pathetic.
|
|
340
340
|
So hook up the phone lines!
|
341
341
|
|
342
342
|
```
|
343
|
-
$ rpc_server -o myserver.com -p
|
343
|
+
$ rpc_server -o myserver.com -p 9399 -l ./log/protobuf.log ./config/environment.rb
|
344
344
|
```
|
345
345
|
|
346
346
|
The previous call will start a Socket server running on the given
|
@@ -364,7 +364,7 @@ result in shutting the server down gracefully.
|
|
364
364
|
|
365
365
|
```
|
366
366
|
$ ps aux | grep rpc_server
|
367
|
-
1234 ... rpc_server myservice.com:
|
367
|
+
1234 ... rpc_server myservice.com:9399
|
368
368
|
|
369
369
|
$ kill -QUIT 1234
|
370
370
|
rpc_server shutdown
|
data/lib/protobuf/cli.rb
CHANGED
@@ -32,6 +32,8 @@ module Protobuf
|
|
32
32
|
option :debug, :type => :boolean, :default => false, :aliases => %w(-d), :desc => 'Debug Mode. Override log level to DEBUG.'
|
33
33
|
option :gc_pause_request, :type => :boolean, :default => false, :desc => 'Enable/Disable GC pause during request.'
|
34
34
|
option :print_deprecation_warnings, :type => :boolean, :default => nil, :desc => 'Cause use of deprecated fields to be printed or ignored.'
|
35
|
+
option :workers_only, :type => :boolean, :default => false, :desc => "Starts process with only workers (no broker/frontend is started) only relevant for Zmq Server"
|
36
|
+
option :worker_port, :type => :numeric, :default => nil, :desc => "Port for 'backend' where workers connect (defaults to port + 1)"
|
35
37
|
|
36
38
|
def start(app_file)
|
37
39
|
debug_say 'Configuring the rpc_server process'
|
@@ -47,7 +49,6 @@ module Protobuf
|
|
47
49
|
run_if_no_abort { require_application!(app_file) }
|
48
50
|
run_if_no_abort { configure_process_name(app_file) }
|
49
51
|
run_if_no_abort { start_server! }
|
50
|
-
|
51
52
|
rescue => e
|
52
53
|
say_and_exit!('ERROR: RPC Server failed to start.', e)
|
53
54
|
end
|
@@ -170,11 +171,15 @@ module Protobuf
|
|
170
171
|
end
|
171
172
|
|
172
173
|
def runner_options
|
173
|
-
{
|
174
|
+
{
|
175
|
+
:host => options.host,
|
174
176
|
:port => options.port,
|
175
177
|
:backlog => options.backlog,
|
176
178
|
:threshold => options.threshold,
|
177
|
-
:threads => options.threads
|
179
|
+
:threads => options.threads,
|
180
|
+
:worker_port => options.worker_port || (options.port + 1),
|
181
|
+
:workers_only => !!ENV['PB_WORKERS_ONLY'] || options.workers_only
|
182
|
+
}
|
178
183
|
end
|
179
184
|
|
180
185
|
def say_and_exit!(message, exception = nil)
|
@@ -209,9 +214,13 @@ module Protobuf
|
|
209
214
|
|
210
215
|
# Start the runner and log the relevant options.
|
211
216
|
def start_server!
|
217
|
+
@runner.register_signals
|
218
|
+
|
212
219
|
debug_say 'Invoking server start'
|
213
220
|
@runner.run(runner_options) do
|
214
|
-
Protobuf::Logger.info {
|
221
|
+
::Protobuf::Logger.info {
|
222
|
+
"pid #{::Process.pid} -- #{@mode} RPC Server listening at #{options.host}:#{options.port}"
|
223
|
+
}
|
215
224
|
end
|
216
225
|
end
|
217
226
|
|
@@ -2,8 +2,8 @@ module Protobuf
|
|
2
2
|
module Rpc
|
3
3
|
class EventedRunner
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.register_signals
|
6
|
+
# Noop
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.run(options)
|
@@ -16,6 +16,11 @@ module Protobuf
|
|
16
16
|
yield if block_given?
|
17
17
|
::EM.reactor_running? ? ::EM.reactor_thread.join : ::EM.run
|
18
18
|
end
|
19
|
+
|
20
|
+
def self.stop
|
21
|
+
::EventMachine.stop_event_loop if ::EventMachine.reactor_running?
|
22
|
+
end
|
23
|
+
|
19
24
|
end
|
20
25
|
end
|
21
26
|
end
|
@@ -2,8 +2,8 @@ module Protobuf
|
|
2
2
|
module Rpc
|
3
3
|
class SocketRunner
|
4
4
|
|
5
|
-
def self.
|
6
|
-
|
5
|
+
def self.register_signals
|
6
|
+
# noop
|
7
7
|
end
|
8
8
|
|
9
9
|
def self.run(server)
|
@@ -22,6 +22,10 @@ module Protobuf
|
|
22
22
|
::Protobuf::Rpc::Socket::Server.run(server_config)
|
23
23
|
end
|
24
24
|
|
25
|
+
def self.stop
|
26
|
+
::Protobuf::Rpc::Socket::Server.stop
|
27
|
+
end
|
28
|
+
|
25
29
|
end
|
26
30
|
end
|
27
31
|
end
|
@@ -85,9 +85,8 @@ module Protobuf
|
|
85
85
|
end
|
86
86
|
|
87
87
|
def setup_backend(options = {})
|
88
|
-
|
89
|
-
|
90
|
-
port = dealer_options[:port]
|
88
|
+
host = options[:host]
|
89
|
+
port = options[:worker_port]
|
91
90
|
|
92
91
|
zmq_backend = context.socket(::ZMQ::ROUTER)
|
93
92
|
zmq_error_check(zmq_backend.bind(bind_address(host, port)))
|
@@ -12,11 +12,14 @@ module Protobuf
|
|
12
12
|
# Class Methods
|
13
13
|
#
|
14
14
|
def self.run(options = {})
|
15
|
-
|
16
|
-
|
17
|
-
|
15
|
+
@options = options
|
16
|
+
|
17
|
+
unless options[:workers_only]
|
18
|
+
log_debug { sign_message("initializing broker") }
|
19
|
+
@broker = ::Protobuf::Rpc::Zmq::Broker.new(options)
|
20
|
+
end
|
18
21
|
|
19
|
-
|
22
|
+
local_worker_threads = options[:threads]
|
20
23
|
log_debug { sign_message("starting server workers") }
|
21
24
|
|
22
25
|
local_worker_threads.times do
|
@@ -26,7 +29,12 @@ module Protobuf
|
|
26
29
|
@running = true
|
27
30
|
log_debug { sign_message("server started") }
|
28
31
|
while self.running? do
|
29
|
-
|
32
|
+
if options[:workers_only]
|
33
|
+
sleep 5
|
34
|
+
Thread.pass
|
35
|
+
else
|
36
|
+
@broker.poll
|
37
|
+
end
|
30
38
|
end
|
31
39
|
ensure
|
32
40
|
@broker.teardown if @broker
|
@@ -37,11 +45,11 @@ module Protobuf
|
|
37
45
|
end
|
38
46
|
|
39
47
|
def self.start_worker
|
40
|
-
@threads << Thread.new(@
|
48
|
+
@threads << Thread.new(@options) { |options|
|
41
49
|
begin
|
42
|
-
::Protobuf::Rpc::Zmq::Worker.new(
|
50
|
+
::Protobuf::Rpc::Zmq::Worker.new(options).run
|
43
51
|
rescue => e
|
44
|
-
message = "Worker Failed, spawning new worker: #{e.inspect}\n #{e.backtrace.join(
|
52
|
+
message = "Worker Failed, spawning new worker: #{e.inspect}\n #{e.backtrace.join($/)}"
|
45
53
|
$stderr.puts message
|
46
54
|
log_error { message }
|
47
55
|
|
@@ -58,6 +66,10 @@ module Protobuf
|
|
58
66
|
end
|
59
67
|
end
|
60
68
|
|
69
|
+
def self.threads
|
70
|
+
@threads
|
71
|
+
end
|
72
|
+
|
61
73
|
@threads ||= []
|
62
74
|
end
|
63
75
|
end
|
@@ -1,9 +1,14 @@
|
|
1
1
|
module Protobuf
|
2
2
|
module Rpc
|
3
3
|
class ZmqRunner
|
4
|
+
include ::Protobuf::Logger::LogMethods
|
4
5
|
|
5
|
-
def self.
|
6
|
-
|
6
|
+
def self.register_signals
|
7
|
+
trap(:TTIN) do
|
8
|
+
log_info { "TTIN received: Starting new worker" }
|
9
|
+
::Protobuf::Rpc::Zmq::Server.start_worker
|
10
|
+
log_info { "Worker count : #{::Protobuf::Rpc::Zmq::Server.threads.size}" }
|
11
|
+
end
|
7
12
|
end
|
8
13
|
|
9
14
|
def self.run(server)
|
@@ -17,9 +22,14 @@ module Protobuf
|
|
17
22
|
end
|
18
23
|
|
19
24
|
yield if block_given?
|
20
|
-
|
25
|
+
|
26
|
+
::Protobuf::Rpc::Zmq::Server.run(server_config)
|
21
27
|
end
|
22
|
-
end
|
23
28
|
|
29
|
+
def self.stop
|
30
|
+
::Protobuf::Rpc::Zmq::Server.stop
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
24
34
|
end
|
25
35
|
end
|
data/lib/protobuf/version.rb
CHANGED
@@ -5,7 +5,13 @@ describe 'Functional ZMQ Client' do
|
|
5
5
|
before(:all) do
|
6
6
|
load "protobuf/zmq.rb"
|
7
7
|
Thread.abort_on_exception = true
|
8
|
-
server = OpenStruct.new(:host => "127.0.0.1",
|
8
|
+
server = OpenStruct.new(:host => "127.0.0.1",
|
9
|
+
:port => 9399,
|
10
|
+
:worker_port => 9400,
|
11
|
+
:backlog => 100,
|
12
|
+
:threshold => 100,
|
13
|
+
:threads => 5)
|
14
|
+
|
9
15
|
@server_thread = Thread.new(server) { |s| Protobuf::Rpc::ZmqRunner.run(s) }
|
10
16
|
Thread.pass until Protobuf::Rpc::Zmq::Server.running?
|
11
17
|
end
|
@@ -215,6 +215,52 @@ describe ::Protobuf::CLI do
|
|
215
215
|
::Protobuf.connector_type.should == :evented
|
216
216
|
end
|
217
217
|
end
|
218
|
+
|
219
|
+
context 'zmq workers only' do
|
220
|
+
let(:test_args) { [ '--workers_only', '--zmq' ] }
|
221
|
+
let(:runner) { ::Protobuf::Rpc::ZmqRunner }
|
222
|
+
|
223
|
+
before do
|
224
|
+
::Protobuf::Rpc::SocketRunner.should_not_receive(:run)
|
225
|
+
::Protobuf::Rpc::EventedRunner.should_not_receive(:run)
|
226
|
+
end
|
227
|
+
|
228
|
+
it 'is activated by the --workers_only switch' do
|
229
|
+
runner.should_receive(:run) do |options|
|
230
|
+
options[:workers_only].should be_true
|
231
|
+
end
|
232
|
+
|
233
|
+
described_class.start(args)
|
234
|
+
end
|
235
|
+
|
236
|
+
it 'is activated by PB_WORKERS_ONLY=1 ENV variable' do
|
237
|
+
ENV['PB_WORKERS_ONLY'] = "1"
|
238
|
+
runner.should_receive(:run) do |options|
|
239
|
+
options[:workers_only].should be_true
|
240
|
+
end
|
241
|
+
|
242
|
+
described_class.start(args)
|
243
|
+
ENV.delete('PB_WORKERS_ONLY')
|
244
|
+
end
|
245
|
+
end
|
246
|
+
|
247
|
+
context 'zmq worker port' do
|
248
|
+
let(:test_args) { [ '--worker_port=1234', '--zmq' ] }
|
249
|
+
let(:runner) { ::Protobuf::Rpc::ZmqRunner }
|
250
|
+
|
251
|
+
before do
|
252
|
+
::Protobuf::Rpc::SocketRunner.should_not_receive(:run)
|
253
|
+
::Protobuf::Rpc::EventedRunner.should_not_receive(:run)
|
254
|
+
end
|
255
|
+
|
256
|
+
it 'is activated by the --worker_port switch' do
|
257
|
+
runner.should_receive(:run) do |options|
|
258
|
+
options[:worker_port].should eq(1234)
|
259
|
+
end
|
260
|
+
|
261
|
+
described_class.start(args)
|
262
|
+
end
|
263
|
+
end
|
218
264
|
|
219
265
|
context 'zmq' do
|
220
266
|
let(:test_args) { [ '--zmq' ] }
|
data/spec/support/server.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: protobuf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.7.
|
4
|
+
version: 2.7.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,11 +10,11 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-03-04 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
17
|
-
requirement:
|
17
|
+
requirement: !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,15 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements:
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
none: false
|
27
|
+
requirements:
|
28
|
+
- - ! '>='
|
29
|
+
- !ruby/object:Gem::Version
|
30
|
+
version: '0'
|
26
31
|
- !ruby/object:Gem::Dependency
|
27
32
|
name: ffi
|
28
|
-
requirement:
|
33
|
+
requirement: !ruby/object:Gem::Requirement
|
29
34
|
none: false
|
30
35
|
requirements:
|
31
36
|
- - ! '>='
|
@@ -33,10 +38,15 @@ dependencies:
|
|
33
38
|
version: '0'
|
34
39
|
type: :runtime
|
35
40
|
prerelease: false
|
36
|
-
version_requirements:
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
none: false
|
43
|
+
requirements:
|
44
|
+
- - ! '>='
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '0'
|
37
47
|
- !ruby/object:Gem::Dependency
|
38
48
|
name: multi_json
|
39
|
-
requirement:
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
40
50
|
none: false
|
41
51
|
requirements:
|
42
52
|
- - ! '>='
|
@@ -44,10 +54,15 @@ dependencies:
|
|
44
54
|
version: '0'
|
45
55
|
type: :runtime
|
46
56
|
prerelease: false
|
47
|
-
version_requirements:
|
57
|
+
version_requirements: !ruby/object:Gem::Requirement
|
58
|
+
none: false
|
59
|
+
requirements:
|
60
|
+
- - ! '>='
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: '0'
|
48
63
|
- !ruby/object:Gem::Dependency
|
49
64
|
name: thor
|
50
|
-
requirement:
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
51
66
|
none: false
|
52
67
|
requirements:
|
53
68
|
- - ! '>='
|
@@ -55,10 +70,15 @@ dependencies:
|
|
55
70
|
version: '0'
|
56
71
|
type: :runtime
|
57
72
|
prerelease: false
|
58
|
-
version_requirements:
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
59
79
|
- !ruby/object:Gem::Dependency
|
60
80
|
name: eventmachine
|
61
|
-
requirement:
|
81
|
+
requirement: !ruby/object:Gem::Requirement
|
62
82
|
none: false
|
63
83
|
requirements:
|
64
84
|
- - ! '>='
|
@@ -66,10 +86,15 @@ dependencies:
|
|
66
86
|
version: '0'
|
67
87
|
type: :development
|
68
88
|
prerelease: false
|
69
|
-
version_requirements:
|
89
|
+
version_requirements: !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ! '>='
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '0'
|
70
95
|
- !ruby/object:Gem::Dependency
|
71
96
|
name: ffi-rzmq
|
72
|
-
requirement:
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
73
98
|
none: false
|
74
99
|
requirements:
|
75
100
|
- - ! '>='
|
@@ -77,10 +102,15 @@ dependencies:
|
|
77
102
|
version: '0'
|
78
103
|
type: :development
|
79
104
|
prerelease: false
|
80
|
-
version_requirements:
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
none: false
|
107
|
+
requirements:
|
108
|
+
- - ! '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
81
111
|
- !ruby/object:Gem::Dependency
|
82
112
|
name: pry
|
83
|
-
requirement:
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
84
114
|
none: false
|
85
115
|
requirements:
|
86
116
|
- - ! '>='
|
@@ -88,10 +118,15 @@ dependencies:
|
|
88
118
|
version: '0'
|
89
119
|
type: :development
|
90
120
|
prerelease: false
|
91
|
-
version_requirements:
|
121
|
+
version_requirements: !ruby/object:Gem::Requirement
|
122
|
+
none: false
|
123
|
+
requirements:
|
124
|
+
- - ! '>='
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: '0'
|
92
127
|
- !ruby/object:Gem::Dependency
|
93
128
|
name: pry-nav
|
94
|
-
requirement:
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
95
130
|
none: false
|
96
131
|
requirements:
|
97
132
|
- - ! '>='
|
@@ -99,10 +134,15 @@ dependencies:
|
|
99
134
|
version: '0'
|
100
135
|
type: :development
|
101
136
|
prerelease: false
|
102
|
-
version_requirements:
|
137
|
+
version_requirements: !ruby/object:Gem::Requirement
|
138
|
+
none: false
|
139
|
+
requirements:
|
140
|
+
- - ! '>='
|
141
|
+
- !ruby/object:Gem::Version
|
142
|
+
version: '0'
|
103
143
|
- !ruby/object:Gem::Dependency
|
104
144
|
name: rake
|
105
|
-
requirement:
|
145
|
+
requirement: !ruby/object:Gem::Requirement
|
106
146
|
none: false
|
107
147
|
requirements:
|
108
148
|
- - ! '>='
|
@@ -110,10 +150,15 @@ dependencies:
|
|
110
150
|
version: '0'
|
111
151
|
type: :development
|
112
152
|
prerelease: false
|
113
|
-
version_requirements:
|
153
|
+
version_requirements: !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ! '>='
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: '0'
|
114
159
|
- !ruby/object:Gem::Dependency
|
115
160
|
name: rake-compiler
|
116
|
-
requirement:
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
117
162
|
none: false
|
118
163
|
requirements:
|
119
164
|
- - ! '>='
|
@@ -121,10 +166,15 @@ dependencies:
|
|
121
166
|
version: '0'
|
122
167
|
type: :development
|
123
168
|
prerelease: false
|
124
|
-
version_requirements:
|
169
|
+
version_requirements: !ruby/object:Gem::Requirement
|
170
|
+
none: false
|
171
|
+
requirements:
|
172
|
+
- - ! '>='
|
173
|
+
- !ruby/object:Gem::Version
|
174
|
+
version: '0'
|
125
175
|
- !ruby/object:Gem::Dependency
|
126
176
|
name: rspec
|
127
|
-
requirement:
|
177
|
+
requirement: !ruby/object:Gem::Requirement
|
128
178
|
none: false
|
129
179
|
requirements:
|
130
180
|
- - ! '>='
|
@@ -132,10 +182,15 @@ dependencies:
|
|
132
182
|
version: '0'
|
133
183
|
type: :development
|
134
184
|
prerelease: false
|
135
|
-
version_requirements:
|
185
|
+
version_requirements: !ruby/object:Gem::Requirement
|
186
|
+
none: false
|
187
|
+
requirements:
|
188
|
+
- - ! '>='
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
136
191
|
- !ruby/object:Gem::Dependency
|
137
192
|
name: simplecov
|
138
|
-
requirement:
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
139
194
|
none: false
|
140
195
|
requirements:
|
141
196
|
- - ! '>='
|
@@ -143,10 +198,15 @@ dependencies:
|
|
143
198
|
version: '0'
|
144
199
|
type: :development
|
145
200
|
prerelease: false
|
146
|
-
version_requirements:
|
201
|
+
version_requirements: !ruby/object:Gem::Requirement
|
202
|
+
none: false
|
203
|
+
requirements:
|
204
|
+
- - ! '>='
|
205
|
+
- !ruby/object:Gem::Version
|
206
|
+
version: '0'
|
147
207
|
- !ruby/object:Gem::Dependency
|
148
208
|
name: yard
|
149
|
-
requirement:
|
209
|
+
requirement: !ruby/object:Gem::Requirement
|
150
210
|
none: false
|
151
211
|
requirements:
|
152
212
|
- - ! '>='
|
@@ -154,7 +214,12 @@ dependencies:
|
|
154
214
|
version: '0'
|
155
215
|
type: :development
|
156
216
|
prerelease: false
|
157
|
-
version_requirements:
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
218
|
+
none: false
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
158
223
|
description: Google Protocol Buffers v2.4.1 Serialization and RPC implementation for
|
159
224
|
Ruby.
|
160
225
|
email:
|
@@ -434,7 +499,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
434
499
|
version: '0'
|
435
500
|
segments:
|
436
501
|
- 0
|
437
|
-
hash:
|
502
|
+
hash: 507016021282761901
|
438
503
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
439
504
|
none: false
|
440
505
|
requirements:
|
@@ -443,93 +508,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
443
508
|
version: '0'
|
444
509
|
segments:
|
445
510
|
- 0
|
446
|
-
hash:
|
511
|
+
hash: 507016021282761901
|
447
512
|
requirements: []
|
448
513
|
rubyforge_project:
|
449
|
-
rubygems_version: 1.8.
|
514
|
+
rubygems_version: 1.8.25
|
450
515
|
signing_key:
|
451
516
|
specification_version: 3
|
452
517
|
summary: Google Protocol Buffers v2.4.1 Serialization and RPC implementation for Ruby.
|
453
|
-
test_files:
|
454
|
-
- spec/benchmark/tasks.rb
|
455
|
-
- spec/functional/embedded_service_spec.rb
|
456
|
-
- spec/functional/evented_server_spec.rb
|
457
|
-
- spec/functional/socket_server_spec.rb
|
458
|
-
- spec/functional/zmq_server_spec.rb
|
459
|
-
- spec/lib/protobuf/cli_spec.rb
|
460
|
-
- spec/lib/protobuf/enum_spec.rb
|
461
|
-
- spec/lib/protobuf/enum_value_spec.rb
|
462
|
-
- spec/lib/protobuf/field/int32_field_spec.rb
|
463
|
-
- spec/lib/protobuf/logger_spec.rb
|
464
|
-
- spec/lib/protobuf/message_spec.rb
|
465
|
-
- spec/lib/protobuf/rpc/client_spec.rb
|
466
|
-
- spec/lib/protobuf/rpc/connector_spec.rb
|
467
|
-
- spec/lib/protobuf/rpc/connectors/base_spec.rb
|
468
|
-
- spec/lib/protobuf/rpc/connectors/common_spec.rb
|
469
|
-
- spec/lib/protobuf/rpc/connectors/socket_spec.rb
|
470
|
-
- spec/lib/protobuf/rpc/connectors/zmq_spec.rb
|
471
|
-
- spec/lib/protobuf/rpc/servers/evented_server_spec.rb
|
472
|
-
- spec/lib/protobuf/rpc/servers/socket_server_spec.rb
|
473
|
-
- spec/lib/protobuf/rpc/servers/zmq/broker_spec.rb
|
474
|
-
- spec/lib/protobuf/rpc/servers/zmq/server_spec.rb
|
475
|
-
- spec/lib/protobuf/rpc/servers/zmq/util_spec.rb
|
476
|
-
- spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb
|
477
|
-
- spec/lib/protobuf/rpc/service_dispatcher_spec.rb
|
478
|
-
- spec/lib/protobuf/rpc/service_filters_spec.rb
|
479
|
-
- spec/lib/protobuf/rpc/service_spec.rb
|
480
|
-
- spec/lib/protobuf_spec.rb
|
481
|
-
- spec/spec_helper.rb
|
482
|
-
- spec/support/all.rb
|
483
|
-
- spec/support/packed_field.rb
|
484
|
-
- spec/support/server.rb
|
485
|
-
- spec/support/test/enum.pb.rb
|
486
|
-
- spec/support/test/enum.proto
|
487
|
-
- spec/support/test/resource.pb.rb
|
488
|
-
- spec/support/test/resource.proto
|
489
|
-
- spec/support/test/resource_service.rb
|
490
|
-
- spec/support/test_app_file.rb
|
491
|
-
- spec/support/tolerance_matcher.rb
|
492
|
-
- test/data/data.bin
|
493
|
-
- test/data/data_source.py
|
494
|
-
- test/data/types.bin
|
495
|
-
- test/data/types_source.py
|
496
|
-
- test/data/unk.png
|
497
|
-
- test/proto/addressbook.pb.rb
|
498
|
-
- test/proto/addressbook.proto
|
499
|
-
- test/proto/addressbook_base.pb.rb
|
500
|
-
- test/proto/addressbook_base.proto
|
501
|
-
- test/proto/addressbook_ext.pb.rb
|
502
|
-
- test/proto/addressbook_ext.proto
|
503
|
-
- test/proto/collision.pb.rb
|
504
|
-
- test/proto/collision.proto
|
505
|
-
- test/proto/ext_collision.pb.rb
|
506
|
-
- test/proto/ext_collision.proto
|
507
|
-
- test/proto/ext_range.pb.rb
|
508
|
-
- test/proto/ext_range.proto
|
509
|
-
- test/proto/float_default.proto
|
510
|
-
- test/proto/lowercase.pb.rb
|
511
|
-
- test/proto/lowercase.proto
|
512
|
-
- test/proto/merge.pb.rb
|
513
|
-
- test/proto/merge.proto
|
514
|
-
- test/proto/nested.pb.rb
|
515
|
-
- test/proto/nested.proto
|
516
|
-
- test/proto/optional_field.pb.rb
|
517
|
-
- test/proto/optional_field.proto
|
518
|
-
- test/proto/packed.pb.rb
|
519
|
-
- test/proto/packed.proto
|
520
|
-
- test/proto/rpc.proto
|
521
|
-
- test/proto/types.pb.rb
|
522
|
-
- test/proto/types.proto
|
523
|
-
- test/test_addressbook.rb
|
524
|
-
- test/test_enum_value.rb
|
525
|
-
- test/test_extension.rb
|
526
|
-
- test/test_lowercase.rb
|
527
|
-
- test/test_message.rb
|
528
|
-
- test/test_optional_field.rb
|
529
|
-
- test/test_packed_field.rb
|
530
|
-
- test/test_parse.rb
|
531
|
-
- test/test_repeated_types.rb
|
532
|
-
- test/test_serialize.rb
|
533
|
-
- test/test_standard_message.rb
|
534
|
-
- test/test_types.rb
|
518
|
+
test_files: []
|
535
519
|
has_rdoc:
|