protobuf 1.0.0 → 1.0.1
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.
- data/Gemfile.lock +1 -1
- data/README.md +138 -126
- data/bin/rpc_server +2 -2
- data/bin/rprotoc +2 -2
- data/examples/reading_a_message.rb +3 -3
- data/examples/writing_a_message.rb +3 -3
- data/lib/protobuf.rb +3 -0
- data/lib/protobuf/compiler/nodes.rb +1 -1
- data/lib/protobuf/compiler/proto_parser.rb +16 -16
- data/lib/protobuf/compiler/visitors.rb +11 -25
- data/lib/protobuf/descriptor/descriptor_builder.rb +58 -58
- data/lib/protobuf/descriptor/field_descriptor.rb +2 -2
- data/lib/protobuf/ext/eventmachine.rb +16 -0
- data/lib/protobuf/message/decoder.rb +6 -6
- data/lib/protobuf/message/field.rb +14 -14
- data/lib/protobuf/message/message.rb +4 -4
- data/lib/protobuf/rpc/client.rb +42 -183
- data/lib/protobuf/rpc/connector.rb +19 -0
- data/lib/protobuf/rpc/connectors/base.rb +29 -0
- data/lib/protobuf/rpc/connectors/em_client.rb +227 -0
- data/lib/protobuf/rpc/connectors/eventmachine.rb +84 -0
- data/lib/protobuf/rpc/connectors/socket.rb +14 -0
- data/lib/protobuf/rpc/service.rb +4 -4
- data/lib/protobuf/version.rb +1 -1
- data/protobuf.gemspec +3 -3
- data/spec/helper/all.rb +13 -0
- data/spec/helper/server.rb +36 -0
- data/spec/helper/tolerance_matcher.rb +40 -0
- data/spec/spec_helper.rb +3 -5
- data/spec/unit/rpc/client_spec.rb +174 -0
- data/spec/unit/rpc/connector_spec.rb +36 -0
- data/spec/unit/rpc/connectors/base_spec.rb +77 -0
- data/spec/unit/rpc/connectors/eventmachine/client_spec.rb +0 -0
- data/spec/unit/rpc/connectors/eventmachine_spec.rb +0 -0
- data/spec/unit/{server_spec.rb → rpc/server_spec.rb} +0 -0
- data/spec/unit/{service_spec.rb → rpc/service_spec.rb} +0 -0
- metadata +79 -63
- data/lib/protobuf/compiler/template/rpc_bin.erb +0 -4
- data/lib/protobuf/compiler/template/rpc_client.erb +0 -18
- data/lib/protobuf/compiler/template/rpc_service.erb +0 -25
- data/lib/protobuf/rpc/client_connection.rb +0 -225
- data/spec/unit/client_spec.rb +0 -128
@@ -0,0 +1,40 @@
|
|
1
|
+
#
|
2
|
+
# courtesy of sander 6
|
3
|
+
# - http://github.com/sander6/custom_matchers/blob/master/lib/matchers/tolerance_matchers.rb
|
4
|
+
#
|
5
|
+
module Sander6
|
6
|
+
module CustomMatchers
|
7
|
+
|
8
|
+
class ToleranceMatcher
|
9
|
+
def initialize(tolerance)
|
10
|
+
@tolerance = tolerance
|
11
|
+
@target = 0
|
12
|
+
end
|
13
|
+
|
14
|
+
def of(target)
|
15
|
+
@target = target
|
16
|
+
self
|
17
|
+
end
|
18
|
+
|
19
|
+
def matches?(value)
|
20
|
+
@value = value
|
21
|
+
((@target - @tolerance)..(@target + @tolerance)).include?(@value)
|
22
|
+
end
|
23
|
+
|
24
|
+
def failure_message
|
25
|
+
"Expected #{@value.inspect} to be within #{@tolerance.inspect} of #{@target.inspect}, but it wasn't.\n" +
|
26
|
+
"Difference: #{@value - @target}"
|
27
|
+
end
|
28
|
+
|
29
|
+
def negative_failure_message
|
30
|
+
"Expected #{@value.inspect} not to be within #{@tolerance.inspect} of #{@target.inspect}, but it was.\n" +
|
31
|
+
"Difference: #{@value - @target}"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
def be_within(value)
|
36
|
+
Sander6::CustomMatchers::ToleranceMatcher.new(value)
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -13,11 +13,9 @@ require 'protobuf'
|
|
13
13
|
require 'protobuf/rpc/client'
|
14
14
|
class ::Protobuf::Rpc::Client
|
15
15
|
def == other
|
16
|
-
options == other.options && \
|
17
|
-
|
18
|
-
|
19
|
-
@success_callback == other.instance_variable_get(:@success_callback) && \
|
20
|
-
@failure_callback == other.instance_variable_get(:@failure_callback)
|
16
|
+
connector.options == other.options && \
|
17
|
+
success_cb == other.success_cb && \
|
18
|
+
failure_cb == other.failure_cb
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -0,0 +1,174 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'spec/proto/test_service_impl'
|
3
|
+
require 'spec/helper/all'
|
4
|
+
|
5
|
+
describe Protobuf::Rpc::Client do
|
6
|
+
|
7
|
+
context "when using fiber based calls" do
|
8
|
+
it "waits for response when running synchronously" do
|
9
|
+
EventMachine.fiber_run do
|
10
|
+
delay = 3
|
11
|
+
server = StubServer.new(delay)
|
12
|
+
stop_servers = lambda { server.stop; EventMachine.stop }
|
13
|
+
client = Spec::Proto::TestService.client(:async => false)
|
14
|
+
|
15
|
+
start = now
|
16
|
+
|
17
|
+
client.find(:name => "Test Name", :active => true) do |c|
|
18
|
+
c.on_success do |succ|
|
19
|
+
succ.name.should eq("Test Name")
|
20
|
+
succ.status.should eq(Spec::Proto::StatusType::ENABLED)
|
21
|
+
end
|
22
|
+
|
23
|
+
c.on_failure do |err|
|
24
|
+
raise err.inspect
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
(now - start).should be_within(delay * 0.10).of(delay)
|
29
|
+
stop_servers.call
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
it "doesn't wait for response when running async call inside fiber" do
|
34
|
+
EventMachine.fiber_run do
|
35
|
+
delay = 3
|
36
|
+
server = StubServer.new(delay)
|
37
|
+
stop_servers = lambda { server.stop; EventMachine.stop }
|
38
|
+
client = Spec::Proto::TestService.client(:async => true)
|
39
|
+
|
40
|
+
start = now
|
41
|
+
|
42
|
+
client.find(:name => "Test Name", :active => true)
|
43
|
+
|
44
|
+
(now - start).should_not be_within(delay * 0.10).of(delay)
|
45
|
+
stop_servers.call
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
it "throws and error when synchronous code is attempted without 'EventMachine.fiber_run'" do
|
50
|
+
subject = Proc.new do
|
51
|
+
EventMachine.run do
|
52
|
+
delay = 1
|
53
|
+
server = StubServer.new(delay)
|
54
|
+
stop_servers = lambda { server.stop; EventMachine.stop }
|
55
|
+
client = Spec::Proto::TestService.client(:async => false)
|
56
|
+
|
57
|
+
client.find(:name => "Test Name", :active => true)
|
58
|
+
stop_servers.call
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
subject.should raise_error(RuntimeError, /EM.fiber_run/)
|
63
|
+
end
|
64
|
+
|
65
|
+
it "throws a timeout when client timeout is exceeded" do
|
66
|
+
subject = Proc.new do
|
67
|
+
EventMachine.fiber_run do
|
68
|
+
delay = 3
|
69
|
+
server = StubServer.new(delay)
|
70
|
+
stop_servers = lambda { server.stop; EventMachine.stop }
|
71
|
+
client = Spec::Proto::TestService.client(:async => false, :timeout => 1)
|
72
|
+
|
73
|
+
client.find(:name => "Test Name", :active => true)
|
74
|
+
stop_servers.call
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
subject.should raise_error(RuntimeError, /timeout/i)
|
79
|
+
end
|
80
|
+
|
81
|
+
end
|
82
|
+
|
83
|
+
context 'when creating a client from a service' do
|
84
|
+
|
85
|
+
it 'should be able to get a client through the Service#client helper method' do
|
86
|
+
Spec::Proto::TestService.client(:port => 9191).should eq(Protobuf::Rpc::Client.new(:service => Spec::Proto::TestService, :port => 9191))
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should be able to override a service location's host and port" do
|
90
|
+
Spec::Proto::TestService.located_at 'somewheregreat.com:12345'
|
91
|
+
clean_client = Spec::Proto::TestService.client
|
92
|
+
clean_client.options[:host].should eq('somewheregreat.com')
|
93
|
+
clean_client.options[:port].should eq(12345)
|
94
|
+
|
95
|
+
updated_client = Spec::Proto::TestService.client(:host => 'amazing.com', :port => 54321)
|
96
|
+
updated_client.options[:host].should eq('amazing.com')
|
97
|
+
updated_client.options[:port].should eq(54321)
|
98
|
+
end
|
99
|
+
|
100
|
+
it 'should be able to define the syncronicity of the client request' do
|
101
|
+
client = Spec::Proto::TestService.client(:async => false)
|
102
|
+
client.options[:async].should be_false
|
103
|
+
client.async?.should be_false
|
104
|
+
|
105
|
+
client = Spec::Proto::TestService.client(:async => true)
|
106
|
+
client.options[:async].should be_true
|
107
|
+
client.async?.should be_true
|
108
|
+
end
|
109
|
+
|
110
|
+
it 'should be able to define which service to create itself for' do
|
111
|
+
client = Protobuf::Rpc::Client.new :service => Spec::Proto::TestService
|
112
|
+
client.options[:service].should eq(Spec::Proto::TestService)
|
113
|
+
end
|
114
|
+
|
115
|
+
it 'should have a hard default for host and port on a service that has not been configured' do
|
116
|
+
reset_service_location Spec::Proto::TestService
|
117
|
+
client = Spec::Proto::TestService.client
|
118
|
+
client.options[:host].should eq(Protobuf::Rpc::Service::DEFAULT_LOCATION[:host])
|
119
|
+
client.options[:port].should eq(Protobuf::Rpc::Service::DEFAULT_LOCATION[:port])
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
|
124
|
+
context 'when calling methods on a service client' do
|
125
|
+
|
126
|
+
# NOTE: we are assuming the service methods are accurately
|
127
|
+
# defined inside spec/proto/test_service.rb,
|
128
|
+
# namely the :find method
|
129
|
+
|
130
|
+
it 'should respond to defined service methods' do
|
131
|
+
client = Spec::Proto::TestService.client
|
132
|
+
client.should_receive(:send_request).and_return(nil)
|
133
|
+
expect { client.find(nil) }.should_not raise_error
|
134
|
+
end
|
135
|
+
|
136
|
+
it 'raises a NameError when accessing a var that does not exist' do
|
137
|
+
pending
|
138
|
+
end
|
139
|
+
|
140
|
+
it 'should be able to set and get local variables within client response blocks' do
|
141
|
+
outer_value = 'OUTER'
|
142
|
+
inner_value = 'INNER'
|
143
|
+
client = Spec::Proto::TestService.client(:async => true)
|
144
|
+
|
145
|
+
EM.should_receive(:reactor_running?).and_return(true)
|
146
|
+
EM.stub!(:schedule) do
|
147
|
+
client.success_cb.call(inner_value)
|
148
|
+
end
|
149
|
+
|
150
|
+
client.find(nil) do |c|
|
151
|
+
c.on_success do |response|
|
152
|
+
outer_value.should eq('OUTER')
|
153
|
+
outer_value = response
|
154
|
+
end
|
155
|
+
end
|
156
|
+
outer_value.should eq(inner_value)
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
160
|
+
|
161
|
+
context 'when receiving request objects' do
|
162
|
+
|
163
|
+
it 'should be able to create the correct request object if passed a hash' do
|
164
|
+
client = Spec::Proto::TestService.client
|
165
|
+
client.should_receive(:send_request)
|
166
|
+
client.find({:name => 'Test Name', :active => false})
|
167
|
+
client.options[:request].should be_a Spec::Proto::ResourceFindRequest
|
168
|
+
client.options[:request].name.should eq('Test Name')
|
169
|
+
client.options[:request].active.should eq(false)
|
170
|
+
end
|
171
|
+
|
172
|
+
end
|
173
|
+
|
174
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Protobuf::Rpc::Connector do
|
4
|
+
|
5
|
+
describe '.connector_for_platform' do
|
6
|
+
|
7
|
+
context 'when platform is java' do
|
8
|
+
let(:platform) { 'jruby' }
|
9
|
+
it 'returns a socket connector class reference' do
|
10
|
+
Protobuf::Rpc::Connector.connector_for_platform(platform).should eq Protobuf::Rpc::Connectors::Socket
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
context 'when platform is mri' do
|
15
|
+
let(:platform) { 'mri' }
|
16
|
+
it 'returns an eventmachine connector class reference' do
|
17
|
+
Protobuf::Rpc::Connector.connector_for_platform(platform).should eq Protobuf::Rpc::Connectors::EventMachine
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
context 'when platform is unknown' do
|
22
|
+
let(:platform) { 'some_bogus_engine' }
|
23
|
+
it 'returns an eventmachine connector class reference' do
|
24
|
+
Protobuf::Rpc::Connector.connector_for_platform(platform).should eq Protobuf::Rpc::Connectors::EventMachine
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'when platform is not given' do
|
29
|
+
it 'returns an eventmachine connector class reference' do
|
30
|
+
Protobuf::Rpc::Connector.connector_for_platform.should eq Protobuf::Rpc::Connectors::EventMachine
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Protobuf::Rpc::Connectors::Base do
|
4
|
+
|
5
|
+
let(:opts) do
|
6
|
+
{ async: false, timeout: 60 }
|
7
|
+
end
|
8
|
+
|
9
|
+
subject { Protobuf::Rpc::Connectors::Base.new(opts) }
|
10
|
+
|
11
|
+
describe '.new' do
|
12
|
+
it 'assigns passed options and initializes success/failure callbacks' do
|
13
|
+
subject.options.should eq opts
|
14
|
+
subject.success_cb.should be_nil
|
15
|
+
subject.failure_cb.should be_nil
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#success_cb' do
|
20
|
+
it 'allows setting the success callback and calling it' do
|
21
|
+
subject.success_cb.should be_nil
|
22
|
+
cb = proc {|res| raise res }
|
23
|
+
subject.success_cb = cb
|
24
|
+
subject.success_cb.should eq cb
|
25
|
+
expect { subject.success_cb.call('an error from cb') }.to raise_error 'an error from cb'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#failure_cb' do
|
30
|
+
it 'allows setting the failure callback and calling it' do
|
31
|
+
subject.failure_cb.should be_nil
|
32
|
+
cb = proc {|res| raise res }
|
33
|
+
subject.failure_cb = cb
|
34
|
+
subject.failure_cb.should eq cb
|
35
|
+
expect { subject.failure_cb.call('an error from cb') }.to raise_error 'an error from cb'
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe '#async?' do
|
40
|
+
context 'when provided options[:async] is false' do
|
41
|
+
let(:opts) do
|
42
|
+
{ async: false, timeout: 60 }
|
43
|
+
end
|
44
|
+
|
45
|
+
subject { Protobuf::Rpc::Connectors::Base.new(opts) }
|
46
|
+
|
47
|
+
it 'returns false' do
|
48
|
+
subject.async?.should be_false
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'when provided options[:async] is true' do
|
53
|
+
let(:opts) do
|
54
|
+
{ async: true, timeout: 60 }
|
55
|
+
end
|
56
|
+
|
57
|
+
subject { Protobuf::Rpc::Connectors::Base.new(opts) }
|
58
|
+
|
59
|
+
it 'returns true' do
|
60
|
+
subject.async?.should be_true
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
context 'when options doesn\'t denote async' do
|
65
|
+
let(:opts) do
|
66
|
+
{ timeout: 60 }
|
67
|
+
end
|
68
|
+
|
69
|
+
subject { Protobuf::Rpc::Connectors::Base.new(opts) }
|
70
|
+
|
71
|
+
it 'returns false' do
|
72
|
+
subject.async?.should be_false
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
metadata
CHANGED
@@ -1,65 +1,68 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: protobuf
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.1
|
4
5
|
prerelease:
|
5
|
-
version: 1.0.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- BJ Neilsen
|
9
|
+
- Brandon Dewitt
|
9
10
|
autorequire:
|
10
11
|
bindir: bin
|
11
12
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2011-12-07 00:00:00.000000000Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
17
16
|
name: eventmachine
|
18
|
-
|
19
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &2156121020 !ruby/object:Gem::Requirement
|
20
18
|
none: false
|
21
|
-
requirements:
|
19
|
+
requirements:
|
22
20
|
- - ~>
|
23
|
-
- !ruby/object:Gem::Version
|
21
|
+
- !ruby/object:Gem::Version
|
24
22
|
version: 0.12.10
|
25
23
|
type: :runtime
|
26
|
-
version_requirements: *id001
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: rake
|
29
24
|
prerelease: false
|
30
|
-
|
25
|
+
version_requirements: *2156121020
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: rake
|
28
|
+
requirement: &2156088060 !ruby/object:Gem::Requirement
|
31
29
|
none: false
|
32
|
-
requirements:
|
30
|
+
requirements:
|
33
31
|
- - ~>
|
34
|
-
- !ruby/object:Gem::Version
|
32
|
+
- !ruby/object:Gem::Version
|
35
33
|
version: 0.8.7
|
36
34
|
type: :development
|
37
|
-
version_requirements: *id002
|
38
|
-
- !ruby/object:Gem::Dependency
|
39
|
-
name: rspec
|
40
35
|
prerelease: false
|
41
|
-
|
36
|
+
version_requirements: *2156088060
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rspec
|
39
|
+
requirement: &2156085040 !ruby/object:Gem::Requirement
|
42
40
|
none: false
|
43
|
-
requirements:
|
41
|
+
requirements:
|
44
42
|
- - ~>
|
45
|
-
- !ruby/object:Gem::Version
|
43
|
+
- !ruby/object:Gem::Version
|
46
44
|
version: 2.7.0
|
47
45
|
type: :development
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *2156085040
|
48
|
+
description: ! 'Ruby implementation for Protocol Buffers. Works with other protobuf
|
49
|
+
rpc implementations (e.g. Java, Python, C++).
|
50
|
+
|
51
|
+
|
52
|
+
This gem has diverged from https://github.com/macks/ruby-protobuf. All credit for
|
53
|
+
serialization and rprotoc work most certainly goes to the original authors. All
|
54
|
+
RPC implementation code (client/server/service) was written and is maintained by
|
55
|
+
this author. Attempts to reconcile the original codebase with the current RPC implementation
|
56
|
+
went unsuccessful.'
|
57
|
+
email:
|
54
58
|
- bj.neilsen@gmail.com
|
55
|
-
|
59
|
+
- brandonsdewitt@gmail.com
|
60
|
+
executables:
|
56
61
|
- rpc_server
|
57
62
|
- rprotoc
|
58
63
|
extensions: []
|
59
|
-
|
60
64
|
extra_rdoc_files: []
|
61
|
-
|
62
|
-
files:
|
65
|
+
files:
|
63
66
|
- .gitignore
|
64
67
|
- Gemfile
|
65
68
|
- Gemfile.lock
|
@@ -81,9 +84,6 @@ files:
|
|
81
84
|
- lib/protobuf/compiler/proto.y
|
82
85
|
- lib/protobuf/compiler/proto2.ebnf
|
83
86
|
- lib/protobuf/compiler/proto_parser.rb
|
84
|
-
- lib/protobuf/compiler/template/rpc_bin.erb
|
85
|
-
- lib/protobuf/compiler/template/rpc_client.erb
|
86
|
-
- lib/protobuf/compiler/template/rpc_service.erb
|
87
87
|
- lib/protobuf/compiler/template/rpc_service_implementation.erb
|
88
88
|
- lib/protobuf/compiler/visitors.rb
|
89
89
|
- lib/protobuf/descriptor/descriptor.proto
|
@@ -93,6 +93,7 @@ files:
|
|
93
93
|
- lib/protobuf/descriptor/enum_descriptor.rb
|
94
94
|
- lib/protobuf/descriptor/field_descriptor.rb
|
95
95
|
- lib/protobuf/descriptor/file_descriptor.rb
|
96
|
+
- lib/protobuf/ext/eventmachine.rb
|
96
97
|
- lib/protobuf/message/decoder.rb
|
97
98
|
- lib/protobuf/message/encoder.rb
|
98
99
|
- lib/protobuf/message/enum.rb
|
@@ -102,7 +103,11 @@ files:
|
|
102
103
|
- lib/protobuf/message/protoable.rb
|
103
104
|
- lib/protobuf/rpc/buffer.rb
|
104
105
|
- lib/protobuf/rpc/client.rb
|
105
|
-
- lib/protobuf/rpc/
|
106
|
+
- lib/protobuf/rpc/connector.rb
|
107
|
+
- lib/protobuf/rpc/connectors/base.rb
|
108
|
+
- lib/protobuf/rpc/connectors/em_client.rb
|
109
|
+
- lib/protobuf/rpc/connectors/eventmachine.rb
|
110
|
+
- lib/protobuf/rpc/connectors/socket.rb
|
106
111
|
- lib/protobuf/rpc/error.rb
|
107
112
|
- lib/protobuf/rpc/error/client_error.rb
|
108
113
|
- lib/protobuf/rpc/error/server_error.rb
|
@@ -115,17 +120,24 @@ files:
|
|
115
120
|
- protobuf.gemspec
|
116
121
|
- script/mk_parser
|
117
122
|
- spec/functional/embedded_service_spec.rb
|
123
|
+
- spec/helper/all.rb
|
124
|
+
- spec/helper/server.rb
|
125
|
+
- spec/helper/tolerance_matcher.rb
|
118
126
|
- spec/proto/test.pb.rb
|
119
127
|
- spec/proto/test.proto
|
120
128
|
- spec/proto/test_service.rb
|
121
129
|
- spec/proto/test_service_impl.rb
|
122
130
|
- spec/spec_helper.rb
|
123
|
-
- spec/unit/client_spec.rb
|
124
131
|
- spec/unit/common/logger_spec.rb
|
125
132
|
- spec/unit/enum_spec.rb
|
126
133
|
- spec/unit/message_spec.rb
|
127
|
-
- spec/unit/
|
128
|
-
- spec/unit/
|
134
|
+
- spec/unit/rpc/client_spec.rb
|
135
|
+
- spec/unit/rpc/connector_spec.rb
|
136
|
+
- spec/unit/rpc/connectors/base_spec.rb
|
137
|
+
- spec/unit/rpc/connectors/eventmachine/client_spec.rb
|
138
|
+
- spec/unit/rpc/connectors/eventmachine_spec.rb
|
139
|
+
- spec/unit/rpc/server_spec.rb
|
140
|
+
- spec/unit/rpc/service_spec.rb
|
129
141
|
- test/check_unbuild.rb
|
130
142
|
- test/data/data.bin
|
131
143
|
- test/data/data_source.py
|
@@ -172,47 +184,51 @@ files:
|
|
172
184
|
- test/test_serialize.rb
|
173
185
|
- test/test_standard_message.rb
|
174
186
|
- test/test_types.rb
|
175
|
-
has_rdoc: true
|
176
187
|
homepage: https://github.com/localshred/protobuf
|
177
188
|
licenses: []
|
178
|
-
|
179
189
|
post_install_message:
|
180
190
|
rdoc_options: []
|
181
|
-
|
182
|
-
require_paths:
|
191
|
+
require_paths:
|
183
192
|
- lib
|
184
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
185
194
|
none: false
|
186
|
-
requirements:
|
187
|
-
- -
|
188
|
-
- !ruby/object:Gem::Version
|
189
|
-
version:
|
190
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
195
|
+
requirements:
|
196
|
+
- - ! '>='
|
197
|
+
- !ruby/object:Gem::Version
|
198
|
+
version: '0'
|
199
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
191
200
|
none: false
|
192
|
-
requirements:
|
193
|
-
- -
|
194
|
-
- !ruby/object:Gem::Version
|
195
|
-
version:
|
201
|
+
requirements:
|
202
|
+
- - ! '>='
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: '0'
|
196
205
|
requirements: []
|
197
|
-
|
198
206
|
rubyforge_project:
|
199
|
-
rubygems_version: 1.
|
207
|
+
rubygems_version: 1.8.10
|
200
208
|
signing_key:
|
201
209
|
specification_version: 3
|
202
|
-
summary: Ruby implementation for Protocol Buffers. Works with other protobuf rpc implementations
|
203
|
-
|
210
|
+
summary: Ruby implementation for Protocol Buffers. Works with other protobuf rpc implementations
|
211
|
+
(e.g. Java, Python, C++).
|
212
|
+
test_files:
|
204
213
|
- spec/functional/embedded_service_spec.rb
|
214
|
+
- spec/helper/all.rb
|
215
|
+
- spec/helper/server.rb
|
216
|
+
- spec/helper/tolerance_matcher.rb
|
205
217
|
- spec/proto/test.pb.rb
|
206
218
|
- spec/proto/test.proto
|
207
219
|
- spec/proto/test_service.rb
|
208
220
|
- spec/proto/test_service_impl.rb
|
209
221
|
- spec/spec_helper.rb
|
210
|
-
- spec/unit/client_spec.rb
|
211
222
|
- spec/unit/common/logger_spec.rb
|
212
223
|
- spec/unit/enum_spec.rb
|
213
224
|
- spec/unit/message_spec.rb
|
214
|
-
- spec/unit/
|
215
|
-
- spec/unit/
|
225
|
+
- spec/unit/rpc/client_spec.rb
|
226
|
+
- spec/unit/rpc/connector_spec.rb
|
227
|
+
- spec/unit/rpc/connectors/base_spec.rb
|
228
|
+
- spec/unit/rpc/connectors/eventmachine/client_spec.rb
|
229
|
+
- spec/unit/rpc/connectors/eventmachine_spec.rb
|
230
|
+
- spec/unit/rpc/server_spec.rb
|
231
|
+
- spec/unit/rpc/service_spec.rb
|
216
232
|
- test/check_unbuild.rb
|
217
233
|
- test/data/data.bin
|
218
234
|
- test/data/data_source.py
|