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 +7 -0
- data/CHANGES.md +9 -4
- data/lib/protobuf/rpc/servers/zmq/server.rb +3 -2
- data/lib/protobuf/rpc/servers/zmq/worker.rb +3 -2
- data/lib/protobuf/version.rb +1 -1
- metadata +99 -60
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
|
6
|
-
- Add cli option for
|
7
|
-
- Add cli option for
|
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
|
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
|
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
|
55
|
+
::Thread.current[:busy] = true
|
55
56
|
initialize_request!
|
56
57
|
process_request
|
57
|
-
::Thread.current
|
58
|
+
::Thread.current[:busy] = false
|
58
59
|
end
|
59
60
|
end
|
60
61
|
ensure
|
data/lib/protobuf/version.rb
CHANGED
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.
|
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-
|
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.
|
372
|
+
rubygems_version: 2.1.2
|
403
373
|
signing_key:
|
404
|
-
specification_version:
|
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:
|