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