protobuf 2.7.2 → 2.7.3

Sign up to get free protection for your applications and to get access to all the features.
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 optomization to prevent
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 and you
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 9939 -l ./log/protobuf.log ./config/environment.rb
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:9939
367
+ 1234 ... rpc_server myservice.com:9399
368
368
 
369
369
  $ kill -QUIT 1234
370
370
  rpc_server shutdown
@@ -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
- { :host => options.host,
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 { "pid #{::Process.pid} -- #{@mode} RPC Server listening at #{options.host}:#{options.port}" }
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.stop
6
- ::EventMachine.stop_event_loop if ::EventMachine.reactor_running?
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.stop
6
- ::Protobuf::Rpc::Socket::Server.stop
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
- dealer_options = options.merge(:port => options[:port] + 1)
89
- host = dealer_options[:host]
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
- log_debug { sign_message("initializing broker") }
16
- @broker = ::Protobuf::Rpc::Zmq::Broker.new(options)
17
- local_worker_threads = options[:threads]
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
- @worker_options = options.merge(:port => options[:port] + 1)
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
- @broker.poll
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(@worker_options) { |worker_options|
48
+ @threads << Thread.new(@options) { |options|
41
49
  begin
42
- ::Protobuf::Rpc::Zmq::Worker.new(worker_options).run
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("\n")}"
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
@@ -13,7 +13,7 @@ module Protobuf
13
13
  #
14
14
  def initialize(options = {})
15
15
  host = options[:host]
16
- port = options[:port]
16
+ port = options[:worker_port]
17
17
 
18
18
  @zmq_context = ::ZMQ::Context.new
19
19
  @socket = @zmq_context.socket(::ZMQ::REQ)
@@ -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.stop
6
- Protobuf::Rpc::Zmq::Server.stop
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
- Protobuf::Rpc::Zmq::Server.run(server_config)
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
@@ -1,4 +1,4 @@
1
1
  module Protobuf
2
- VERSION = '2.7.2'
2
+ VERSION = '2.7.3'
3
3
  PROTOC_VERSION = '2.4.1'
4
4
  end
@@ -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", :port => 9399, :backlog => 100, :threshold => 100, :threads => 5)
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' ] }
@@ -10,7 +10,7 @@ describe ::Protobuf::Rpc::Zmq::Broker do
10
10
  end
11
11
 
12
12
  subject do
13
- described_class.new({ :host => '127.0.0.1', :port => 9399 })
13
+ described_class.new({ :host => '127.0.0.1', :port => 9399, :worker_port => 9400 })
14
14
  end
15
15
 
16
16
  it 'sets up a context' do
@@ -41,6 +41,7 @@ class StubServer
41
41
  @running = true
42
42
  @options = OpenStruct.new({ :host => "127.0.0.1",
43
43
  :port => 9399,
44
+ :worker_port => 9400,
44
45
  :delay => 0,
45
46
  :server => Protobuf::Rpc::Evented::Server }.merge(options))
46
47
 
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.2
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-02-19 00:00:00.000000000Z
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: &2152135800 !ruby/object:Gem::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: *2152135800
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: &2152134500 !ruby/object:Gem::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: *2152134500
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: &2152133000 !ruby/object:Gem::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: *2152133000
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: &2152131280 !ruby/object:Gem::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: *2152131280
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: &2152129060 !ruby/object:Gem::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: *2152129060
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: &2152127300 !ruby/object:Gem::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: *2152127300
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: &2152112220 !ruby/object:Gem::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: *2152112220
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: &2152110260 !ruby/object:Gem::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: *2152110260
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: &2152107060 !ruby/object:Gem::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: *2152107060
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: &2152104820 !ruby/object:Gem::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: *2152104820
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: &2152102000 !ruby/object:Gem::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: *2152102000
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: &2152100180 !ruby/object:Gem::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: *2152100180
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: &2152097180 !ruby/object:Gem::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: *2152097180
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: 1287812807284691989
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: 1287812807284691989
511
+ hash: 507016021282761901
447
512
  requirements: []
448
513
  rubyforge_project:
449
- rubygems_version: 1.8.15
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: