protobuf 2.8.11 → 2.8.12

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.
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: