protobuf 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. data/Gemfile.lock +1 -1
  2. data/README.md +138 -126
  3. data/bin/rpc_server +2 -2
  4. data/bin/rprotoc +2 -2
  5. data/examples/reading_a_message.rb +3 -3
  6. data/examples/writing_a_message.rb +3 -3
  7. data/lib/protobuf.rb +3 -0
  8. data/lib/protobuf/compiler/nodes.rb +1 -1
  9. data/lib/protobuf/compiler/proto_parser.rb +16 -16
  10. data/lib/protobuf/compiler/visitors.rb +11 -25
  11. data/lib/protobuf/descriptor/descriptor_builder.rb +58 -58
  12. data/lib/protobuf/descriptor/field_descriptor.rb +2 -2
  13. data/lib/protobuf/ext/eventmachine.rb +16 -0
  14. data/lib/protobuf/message/decoder.rb +6 -6
  15. data/lib/protobuf/message/field.rb +14 -14
  16. data/lib/protobuf/message/message.rb +4 -4
  17. data/lib/protobuf/rpc/client.rb +42 -183
  18. data/lib/protobuf/rpc/connector.rb +19 -0
  19. data/lib/protobuf/rpc/connectors/base.rb +29 -0
  20. data/lib/protobuf/rpc/connectors/em_client.rb +227 -0
  21. data/lib/protobuf/rpc/connectors/eventmachine.rb +84 -0
  22. data/lib/protobuf/rpc/connectors/socket.rb +14 -0
  23. data/lib/protobuf/rpc/service.rb +4 -4
  24. data/lib/protobuf/version.rb +1 -1
  25. data/protobuf.gemspec +3 -3
  26. data/spec/helper/all.rb +13 -0
  27. data/spec/helper/server.rb +36 -0
  28. data/spec/helper/tolerance_matcher.rb +40 -0
  29. data/spec/spec_helper.rb +3 -5
  30. data/spec/unit/rpc/client_spec.rb +174 -0
  31. data/spec/unit/rpc/connector_spec.rb +36 -0
  32. data/spec/unit/rpc/connectors/base_spec.rb +77 -0
  33. data/spec/unit/rpc/connectors/eventmachine/client_spec.rb +0 -0
  34. data/spec/unit/rpc/connectors/eventmachine_spec.rb +0 -0
  35. data/spec/unit/{server_spec.rb → rpc/server_spec.rb} +0 -0
  36. data/spec/unit/{service_spec.rb → rpc/service_spec.rb} +0 -0
  37. metadata +79 -63
  38. data/lib/protobuf/compiler/template/rpc_bin.erb +0 -4
  39. data/lib/protobuf/compiler/template/rpc_client.erb +0 -18
  40. data/lib/protobuf/compiler/template/rpc_service.erb +0 -25
  41. data/lib/protobuf/rpc/client_connection.rb +0 -225
  42. 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
@@ -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
- error == other.error && \
18
- do_block == other.do_block && \
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
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
- date: 2011-11-06 00:00:00 -06:00
14
- default_executable:
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
- prerelease: false
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- version_requirements: *id003
49
- description: |-
50
- Ruby implementation for Protocol Buffers. Works with other protobuf rpc implementations (e.g. Java, Python, C++).
51
-
52
- This gem has diverged from https://github.com/macks/ruby-protobuf. All credit for serialization and rprotoc work most certainly goes to the original authors. All RPC implementation code (client/server/service) was written and is maintained by this author. Attempts to reconcile the original codebase with the current RPC implementation went unsuccessful.
53
- email:
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
- executables:
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/client_connection.rb
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/server_spec.rb
128
- - spec/unit/service_spec.rb
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: "0"
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: "0"
201
+ requirements:
202
+ - - ! '>='
203
+ - !ruby/object:Gem::Version
204
+ version: '0'
196
205
  requirements: []
197
-
198
206
  rubyforge_project:
199
- rubygems_version: 1.5.0
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 (e.g. Java, Python, C++).
203
- test_files:
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/server_spec.rb
215
- - spec/unit/service_spec.rb
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