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