protobuf 2.8.11 → 2.8.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: efe08a7faee910498fc572c1b499ae2f641b0e93
4
+ data.tar.gz: 899e74e0629fa38f693d3c1b0d4fe6f724976bcd
5
+ SHA512:
6
+ metadata.gz: 3106b762d3572a2e72f7c83dffc994107bfefa8fc355fd20c2bb64b5a7acccacc2b86936bac52c17a9843b445ea288492a7f3b2cd262543e24a26345392a898b
7
+ data.tar.gz: 2c69aa17d42e15b8eee75b5875394a229aaeb6860bdfaba7feb928ad23e3d57a2ab8ce882c747f853e712716106cffcd750be3f180007e0d339044095bcaf791
data/CHANGES.md CHANGED
@@ -1,10 +1,15 @@
1
+ 2.8.12
2
+ ---------
3
+
4
+ - Fix thread busy access in zmq server/worker. [#151, @abrandoned]
5
+
1
6
  2.8.11
2
7
  ---------
3
8
 
4
- - Default ZMQ server to use inproc protocol instead of tcp (zero-copy between server-broker-worker)
5
- - Add 'broadcast_busy' functionality that removes server from cluster if the workers are full
6
- - Add cli option for --no-zmq_inproc
7
- - Add cli option for --broadcast_busy
9
+ - Default ZMQ server to use inproc protocol instead of tcp (zero-copy between server-broker-worker). [#145, @brianstien]
10
+ - Add `broadcast_busy` functionality that removes server from cluster if the workers are full. [#149, @abrandoned]
11
+ - Add cli option for `--no-zmq_inproc`. [#149, @abrandoned]
12
+ - Add cli option for `--broadcast_busy`. [#149, @abrandoned]
8
13
 
9
14
  2.8.10
10
15
  ---------
@@ -3,6 +3,7 @@ require 'protobuf/rpc/servers/zmq/worker'
3
3
  require 'protobuf/rpc/servers/zmq/broker'
4
4
  require 'protobuf/rpc/dynamic_discovery.pb'
5
5
  require 'securerandom'
6
+ require 'thread'
6
7
 
7
8
  module Protobuf
8
9
  module Rpc
@@ -37,7 +38,7 @@ module Protobuf
37
38
  end
38
39
 
39
40
  def all_workers_busy?
40
- workers.all? { |thread| !!thread.thread_variable_get(:busy) }
41
+ workers.all? { |thread| !!thread[:busy] }
41
42
  end
42
43
 
43
44
  def backend_port
@@ -111,7 +112,7 @@ module Protobuf
111
112
  end
112
113
 
113
114
  def busy_worker_count
114
- workers.count { |thread| !!thread.thread_variable_get(:busy) }
115
+ workers.count { |thread| !!thread[:busy] }
115
116
  end
116
117
 
117
118
  def frontend_ip
@@ -1,5 +1,6 @@
1
1
  require 'protobuf/rpc/server'
2
2
  require 'protobuf/rpc/servers/zmq/util'
3
+ require 'thread'
3
4
 
4
5
  module Protobuf
5
6
  module Rpc
@@ -51,10 +52,10 @@ module Protobuf
51
52
  break if rc == -1
52
53
 
53
54
  if rc > 0
54
- ::Thread.current.thread_variable_set(:busy, true)
55
+ ::Thread.current[:busy] = true
55
56
  initialize_request!
56
57
  process_request
57
- ::Thread.current.thread_variable_set(:busy, false)
58
+ ::Thread.current[:busy] = false
58
59
  end
59
60
  end
60
61
  ensure
@@ -1,4 +1,4 @@
1
1
  module Protobuf
2
- VERSION = '2.8.11'
2
+ VERSION = '2.8.12'
3
3
  PROTOC_VERSION = '2.5.0'
4
4
  end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: protobuf
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.8.11
5
- prerelease:
4
+ version: 2.8.12
6
5
  platform: ruby
7
6
  authors:
8
7
  - BJ Neilsen
@@ -11,182 +10,160 @@ authors:
11
10
  autorequire:
12
11
  bindir: bin
13
12
  cert_chain: []
14
- date: 2014-02-10 00:00:00.000000000 Z
13
+ date: 2014-02-11 00:00:00.000000000 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
16
  name: activesupport
18
17
  requirement: !ruby/object:Gem::Requirement
19
- none: false
20
18
  requirements:
21
- - - ! '>='
19
+ - - '>='
22
20
  - !ruby/object:Gem::Version
23
21
  version: '0'
24
22
  type: :runtime
25
23
  prerelease: false
26
24
  version_requirements: !ruby/object:Gem::Requirement
27
- none: false
28
25
  requirements:
29
- - - ! '>='
26
+ - - '>='
30
27
  - !ruby/object:Gem::Version
31
28
  version: '0'
32
29
  - !ruby/object:Gem::Dependency
33
30
  name: multi_json
34
31
  requirement: !ruby/object:Gem::Requirement
35
- none: false
36
32
  requirements:
37
- - - ! '>='
33
+ - - '>='
38
34
  - !ruby/object:Gem::Version
39
35
  version: '0'
40
36
  type: :runtime
41
37
  prerelease: false
42
38
  version_requirements: !ruby/object:Gem::Requirement
43
- none: false
44
39
  requirements:
45
- - - ! '>='
40
+ - - '>='
46
41
  - !ruby/object:Gem::Version
47
42
  version: '0'
48
43
  - !ruby/object:Gem::Dependency
49
44
  name: thor
50
45
  requirement: !ruby/object:Gem::Requirement
51
- none: false
52
46
  requirements:
53
- - - ! '>='
47
+ - - '>='
54
48
  - !ruby/object:Gem::Version
55
49
  version: '0'
56
50
  type: :runtime
57
51
  prerelease: false
58
52
  version_requirements: !ruby/object:Gem::Requirement
59
- none: false
60
53
  requirements:
61
- - - ! '>='
54
+ - - '>='
62
55
  - !ruby/object:Gem::Version
63
56
  version: '0'
64
57
  - !ruby/object:Gem::Dependency
65
58
  name: eventmachine
66
59
  requirement: !ruby/object:Gem::Requirement
67
- none: false
68
60
  requirements:
69
- - - ! '>='
61
+ - - '>='
70
62
  - !ruby/object:Gem::Version
71
63
  version: '0'
72
64
  type: :development
73
65
  prerelease: false
74
66
  version_requirements: !ruby/object:Gem::Requirement
75
- none: false
76
67
  requirements:
77
- - - ! '>='
68
+ - - '>='
78
69
  - !ruby/object:Gem::Version
79
70
  version: '0'
80
71
  - !ruby/object:Gem::Dependency
81
72
  name: ffi-rzmq
82
73
  requirement: !ruby/object:Gem::Requirement
83
- none: false
84
74
  requirements:
85
- - - ! '>='
75
+ - - '>='
86
76
  - !ruby/object:Gem::Version
87
77
  version: '0'
88
78
  type: :development
89
79
  prerelease: false
90
80
  version_requirements: !ruby/object:Gem::Requirement
91
- none: false
92
81
  requirements:
93
- - - ! '>='
82
+ - - '>='
94
83
  - !ruby/object:Gem::Version
95
84
  version: '0'
96
85
  - !ruby/object:Gem::Dependency
97
86
  name: pry-nav
98
87
  requirement: !ruby/object:Gem::Requirement
99
- none: false
100
88
  requirements:
101
- - - ! '>='
89
+ - - '>='
102
90
  - !ruby/object:Gem::Version
103
91
  version: '0'
104
92
  type: :development
105
93
  prerelease: false
106
94
  version_requirements: !ruby/object:Gem::Requirement
107
- none: false
108
95
  requirements:
109
- - - ! '>='
96
+ - - '>='
110
97
  - !ruby/object:Gem::Version
111
98
  version: '0'
112
99
  - !ruby/object:Gem::Dependency
113
100
  name: rake
114
101
  requirement: !ruby/object:Gem::Requirement
115
- none: false
116
102
  requirements:
117
- - - ! '>='
103
+ - - '>='
118
104
  - !ruby/object:Gem::Version
119
105
  version: '0'
120
106
  type: :development
121
107
  prerelease: false
122
108
  version_requirements: !ruby/object:Gem::Requirement
123
- none: false
124
109
  requirements:
125
- - - ! '>='
110
+ - - '>='
126
111
  - !ruby/object:Gem::Version
127
112
  version: '0'
128
113
  - !ruby/object:Gem::Dependency
129
114
  name: rspec
130
115
  requirement: !ruby/object:Gem::Requirement
131
- none: false
132
116
  requirements:
133
- - - ! '>='
117
+ - - '>='
134
118
  - !ruby/object:Gem::Version
135
119
  version: '0'
136
120
  type: :development
137
121
  prerelease: false
138
122
  version_requirements: !ruby/object:Gem::Requirement
139
- none: false
140
123
  requirements:
141
- - - ! '>='
124
+ - - '>='
142
125
  - !ruby/object:Gem::Version
143
126
  version: '0'
144
127
  - !ruby/object:Gem::Dependency
145
128
  name: simplecov
146
129
  requirement: !ruby/object:Gem::Requirement
147
- none: false
148
130
  requirements:
149
- - - ! '>='
131
+ - - '>='
150
132
  - !ruby/object:Gem::Version
151
133
  version: '0'
152
134
  type: :development
153
135
  prerelease: false
154
136
  version_requirements: !ruby/object:Gem::Requirement
155
- none: false
156
137
  requirements:
157
- - - ! '>='
138
+ - - '>='
158
139
  - !ruby/object:Gem::Version
159
140
  version: '0'
160
141
  - !ruby/object:Gem::Dependency
161
142
  name: yard
162
143
  requirement: !ruby/object:Gem::Requirement
163
- none: false
164
144
  requirements:
165
- - - ! '>='
145
+ - - '>='
166
146
  - !ruby/object:Gem::Version
167
147
  version: '0'
168
148
  type: :development
169
149
  prerelease: false
170
150
  version_requirements: !ruby/object:Gem::Requirement
171
- none: false
172
151
  requirements:
173
- - - ! '>='
152
+ - - '>='
174
153
  - !ruby/object:Gem::Version
175
154
  version: '0'
176
155
  - !ruby/object:Gem::Dependency
177
156
  name: timecop
178
157
  requirement: !ruby/object:Gem::Requirement
179
- none: false
180
158
  requirements:
181
- - - ! '>='
159
+ - - '>='
182
160
  - !ruby/object:Gem::Version
183
161
  version: '0'
184
162
  type: :development
185
163
  prerelease: false
186
164
  version_requirements: !ruby/object:Gem::Requirement
187
- none: false
188
165
  requirements:
189
- - - ! '>='
166
+ - - '>='
190
167
  - !ruby/object:Gem::Version
191
168
  version: '0'
192
169
  description: Google Protocol Buffers serialization and RPC implementation for Ruby.
@@ -375,33 +352,95 @@ files:
375
352
  homepage: https://github.com/localshred/protobuf
376
353
  licenses:
377
354
  - WTFPL
355
+ metadata: {}
378
356
  post_install_message:
379
357
  rdoc_options: []
380
358
  require_paths:
381
359
  - lib
382
360
  required_ruby_version: !ruby/object:Gem::Requirement
383
- none: false
384
361
  requirements:
385
- - - ! '>='
362
+ - - '>='
386
363
  - !ruby/object:Gem::Version
387
364
  version: '0'
388
- segments:
389
- - 0
390
- hash: 3657453006222602873
391
365
  required_rubygems_version: !ruby/object:Gem::Requirement
392
- none: false
393
366
  requirements:
394
- - - ! '>='
367
+ - - '>='
395
368
  - !ruby/object:Gem::Version
396
369
  version: '0'
397
- segments:
398
- - 0
399
- hash: 3657453006222602873
400
370
  requirements: []
401
371
  rubyforge_project:
402
- rubygems_version: 1.8.24
372
+ rubygems_version: 2.1.2
403
373
  signing_key:
404
- specification_version: 3
374
+ specification_version: 4
405
375
  summary: Google Protocol Buffers serialization and RPC implementation for Ruby.
406
- test_files: []
376
+ test_files:
377
+ - spec/benchmark/tasks.rb
378
+ - spec/bin/protoc-gen-ruby_spec.rb
379
+ - spec/data/data.bin
380
+ - spec/data/types.bin
381
+ - spec/encoding/all_types_spec.rb
382
+ - spec/encoding/extreme_values_spec.rb
383
+ - spec/functional/embedded_service_spec.rb
384
+ - spec/functional/evented_server_spec.rb
385
+ - spec/functional/socket_server_spec.rb
386
+ - spec/functional/zmq_server_spec.rb
387
+ - spec/lib/protobuf/cli_spec.rb
388
+ - spec/lib/protobuf/code_generator_spec.rb
389
+ - spec/lib/protobuf/enum_spec.rb
390
+ - spec/lib/protobuf/enum_value_spec.rb
391
+ - spec/lib/protobuf/field/int32_field_spec.rb
392
+ - spec/lib/protobuf/field/string_field_spec.rb
393
+ - spec/lib/protobuf/generators/base_spec.rb
394
+ - spec/lib/protobuf/generators/enum_generator_spec.rb
395
+ - spec/lib/protobuf/generators/extension_generator_spec.rb
396
+ - spec/lib/protobuf/generators/field_generator_spec.rb
397
+ - spec/lib/protobuf/generators/file_generator_spec.rb
398
+ - spec/lib/protobuf/generators/message_generator_spec.rb
399
+ - spec/lib/protobuf/generators/service_generator_spec.rb
400
+ - spec/lib/protobuf/lifecycle_spec.rb
401
+ - spec/lib/protobuf/logger_spec.rb
402
+ - spec/lib/protobuf/message_spec.rb
403
+ - spec/lib/protobuf/rpc/client_spec.rb
404
+ - spec/lib/protobuf/rpc/connector_spec.rb
405
+ - spec/lib/protobuf/rpc/connectors/base_spec.rb
406
+ - spec/lib/protobuf/rpc/connectors/common_spec.rb
407
+ - spec/lib/protobuf/rpc/connectors/socket_spec.rb
408
+ - spec/lib/protobuf/rpc/connectors/zmq_spec.rb
409
+ - spec/lib/protobuf/rpc/servers/evented_server_spec.rb
410
+ - spec/lib/protobuf/rpc/servers/socket_server_spec.rb
411
+ - spec/lib/protobuf/rpc/servers/zmq/server_spec.rb
412
+ - spec/lib/protobuf/rpc/servers/zmq/util_spec.rb
413
+ - spec/lib/protobuf/rpc/servers/zmq/worker_spec.rb
414
+ - spec/lib/protobuf/rpc/service_directory_spec.rb
415
+ - spec/lib/protobuf/rpc/service_dispatcher_spec.rb
416
+ - spec/lib/protobuf/rpc/service_filters_spec.rb
417
+ - spec/lib/protobuf/rpc/service_spec.rb
418
+ - spec/lib/protobuf/rpc/stat_spec.rb
419
+ - spec/lib/protobuf_spec.rb
420
+ - spec/spec_helper.rb
421
+ - spec/support/all.rb
422
+ - spec/support/packed_field.rb
423
+ - spec/support/server.rb
424
+ - spec/support/test/all_types.data.bin
425
+ - spec/support/test/all_types.data.txt
426
+ - spec/support/test/defaults.pb.rb
427
+ - spec/support/test/defaults.proto
428
+ - spec/support/test/enum.pb.rb
429
+ - spec/support/test/enum.proto
430
+ - spec/support/test/extended.pb.rb
431
+ - spec/support/test/extended.proto
432
+ - spec/support/test/extreme_values.data.bin
433
+ - spec/support/test/google_unittest.pb.rb
434
+ - spec/support/test/google_unittest.proto
435
+ - spec/support/test/google_unittest_import.pb.rb
436
+ - spec/support/test/google_unittest_import.proto
437
+ - spec/support/test/google_unittest_import_public.pb.rb
438
+ - spec/support/test/google_unittest_import_public.proto
439
+ - spec/support/test/multi_field_extensions.pb.rb
440
+ - spec/support/test/multi_field_extensions.proto
441
+ - spec/support/test/resource.pb.rb
442
+ - spec/support/test/resource.proto
443
+ - spec/support/test/resource_service.rb
444
+ - spec/support/test_app_file.rb
445
+ - spec/support/tolerance_matcher.rb
407
446
  has_rdoc: