msgpack-rpc 0.5.2 → 0.5.3
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 +4 -4
- data/.gitignore +2 -0
- data/.rspec +3 -0
- data/.travis.yml +13 -0
- data/ChangeLog +5 -0
- data/Gemfile +3 -0
- data/Rakefile +16 -6
- data/lib/msgpack-rpc.rb +1 -1
- data/lib/msgpack/rpc/version.rb +1 -1
- data/msgpack-rpc.gemspec +6 -5
- data/spec/spec_helper.rb +32 -0
- data/spec/unit/client_spec.rb +16 -13
- data/spec/unit/my_server.rb +24 -12
- metadata +55 -21
- data/spec/spec.opts +0 -7
- data/spec/unit/spec_helper.rb +0 -5
- data/tasks/msgpack_rpc_tasks.rake +0 -25
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d045c3cc7b197d5c2fbc9f3d52d7b34b94799923
|
4
|
+
data.tar.gz: 90668ed8b722d5a89ee80c02e980d8caf6b84ee7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7bf6330d0b9599962f5e98fc6ef8d6fb4a1f413c3110f57a47ae6397c188bdd3e54f5004eb3f32b5853246157003c8155f137c8c3b6f75ba3f921926ed7b2b22
|
7
|
+
data.tar.gz: ba253b3503217866173bffa96c3f474f47192e9a5c205b2456c17fd38e4c80acac6ebdb3e94c9aabbba3d99fc018ef58bab3e55e1730820da2e1a73e23f82062
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/ChangeLog
CHANGED
data/Gemfile
ADDED
data/Rakefile
CHANGED
@@ -1,11 +1,21 @@
|
|
1
|
-
require '
|
1
|
+
require 'bundler'
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
require "rspec/core/rake_task"
|
4
|
+
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
|
2
7
|
require 'rake/testtask'
|
3
8
|
require 'rake/clean'
|
4
9
|
|
5
|
-
require 'bundler'
|
6
|
-
Bundler::GemHelper.install_tasks
|
7
|
-
|
8
10
|
task :default => [:build]
|
9
11
|
|
10
|
-
task :test => [
|
11
|
-
|
12
|
+
task :test => ["spec", "test:unit"]
|
13
|
+
|
14
|
+
namespace :test do
|
15
|
+
desc "run test"
|
16
|
+
Rake::TestTask.new(:unit) do |t|
|
17
|
+
t.libs << 'lib'
|
18
|
+
t.pattern = 'test/*_test.rb'
|
19
|
+
t.verbose = true
|
20
|
+
end
|
21
|
+
end
|
data/lib/msgpack-rpc.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require
|
1
|
+
require 'msgpack/rpc'
|
data/lib/msgpack/rpc/version.rb
CHANGED
data/msgpack-rpc.gemspec
CHANGED
@@ -7,16 +7,17 @@ Gem::Specification.new do |s|
|
|
7
7
|
s.authors = ["FURUHASHI Sadayuki", "Shuzo Kashihara"]
|
8
8
|
s.email = ["frsyuki@users.sourceforge.jp", "suma@users.sourceforge.jp"]
|
9
9
|
s.files = `git ls-files`.split("\n")
|
10
|
-
s.test_files =
|
10
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
11
11
|
s.license = "Apache 2.0"
|
12
12
|
s.homepage = "http://msgpack.org/"
|
13
13
|
s.require_paths = ["lib"]
|
14
|
-
s.rubyforge_project = "msgpack"
|
15
14
|
s.summary = "MessagePack-RPC, asynchronous RPC library using MessagePack"
|
16
15
|
|
17
|
-
s.add_runtime_dependency "msgpack", ["~> 0.5.
|
18
|
-
s.add_runtime_dependency "cool.io", ["~> 1.
|
19
|
-
s.add_development_dependency "
|
16
|
+
s.add_runtime_dependency "msgpack", ["~> 0.5.10"]
|
17
|
+
s.add_runtime_dependency "cool.io", ["~> 1.2.4"]
|
18
|
+
s.add_development_dependency "rake"
|
19
|
+
s.add_development_dependency "rspec"
|
20
|
+
s.add_development_dependency "test-unit"
|
20
21
|
s.add_development_dependency 'bundler', ["~> 1.0"]
|
21
22
|
end
|
22
23
|
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'msgpack'
|
2
|
+
require 'msgpack/rpc'
|
3
|
+
|
4
|
+
RSpec.configure do |config|
|
5
|
+
config.expect_with :rspec do |expectations|
|
6
|
+
# This option will default to `true` in RSpec 4. It makes the `description`
|
7
|
+
# and `failure_message` of custom matchers include text for helper methods
|
8
|
+
# defined using `chain`, e.g.:
|
9
|
+
# be_bigger_than(2).and_smaller_than(4).description
|
10
|
+
# # => "be bigger than 2 and smaller than 4"
|
11
|
+
# ...rather than:
|
12
|
+
# # => "be bigger than 2"
|
13
|
+
expectations.include_chain_clauses_in_custom_matcher_descriptions = true
|
14
|
+
|
15
|
+
expectations.syntax = [:should, :expect]
|
16
|
+
end
|
17
|
+
|
18
|
+
config.mock_with :rspec do |mocks|
|
19
|
+
# Prevents you from mocking or stubbing a method that does not exist on
|
20
|
+
# a real object. This is generally recommended, and will default to
|
21
|
+
# `true` in RSpec 4.
|
22
|
+
mocks.verify_partial_doubles = true
|
23
|
+
end
|
24
|
+
|
25
|
+
config.filter_run :focus
|
26
|
+
config.run_all_when_everything_filtered = true
|
27
|
+
|
28
|
+
config.order = :random
|
29
|
+
|
30
|
+
# config.disable_monkey_patching!
|
31
|
+
# config.warnings = true
|
32
|
+
end
|
data/spec/unit/client_spec.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
require
|
2
|
-
|
1
|
+
require 'spec_helper'
|
2
|
+
require_relative './my_server'
|
3
|
+
|
3
4
|
include MyServerTest
|
4
5
|
|
5
6
|
describe 'MessagePack::RPC::Client test' do
|
@@ -23,7 +24,7 @@ describe 'MessagePack::RPC::Client test' do
|
|
23
24
|
|
24
25
|
it 'should return "ok" and "3" when you call with call_async' do
|
25
26
|
req1 = @client.call_async(:hello)
|
26
|
-
req2 = @client.call_async(:sum,1,2)
|
27
|
+
req2 = @client.call_async(:sum, 1, 2)
|
27
28
|
req1.join
|
28
29
|
req1.result.should include("ok")
|
29
30
|
req1.error.should be_nil
|
@@ -34,23 +35,27 @@ describe 'MessagePack::RPC::Client test' do
|
|
34
35
|
end
|
35
36
|
|
36
37
|
it 'should return "ok" when you set callback(:hello)' do
|
37
|
-
@client.callback(:hello) do |error, result|
|
38
|
+
req = @client.callback(:hello) do |error, result|
|
38
39
|
result.should include("ok")
|
39
40
|
error.should be_nil
|
40
41
|
end
|
42
|
+
req.join
|
41
43
|
end
|
42
44
|
|
43
45
|
it 'should return "3" when you set callback(:sum)' do
|
44
46
|
|
45
|
-
@client.callback(:sum) do |error, result|
|
46
|
-
result.
|
47
|
+
req = @client.callback(:sum, 1, 2) do |error, result|
|
48
|
+
result.should equal 3
|
47
49
|
error.should be_nil
|
48
50
|
end
|
51
|
+
req.join
|
49
52
|
end
|
50
53
|
|
51
54
|
it 'should return nil values when you call notify' do
|
52
|
-
@client.
|
53
|
-
@client.notify(:
|
55
|
+
@client.call(:count).should eq 0
|
56
|
+
@client.notify(:increase_count).should be_nil
|
57
|
+
sleep 0.5
|
58
|
+
@client.call(:count).should eq 1
|
54
59
|
end
|
55
60
|
|
56
61
|
it 'should return error when you call private method' do
|
@@ -88,16 +93,16 @@ end
|
|
88
93
|
describe "MessagePack::RPC::TimeoutError test" do
|
89
94
|
|
90
95
|
before(:each)do
|
91
|
-
@client = start_client
|
96
|
+
@client = start_client(PortHelper.find_port)
|
92
97
|
@lsock = TCPServer.new("0.0.0.0",@client.port)
|
93
98
|
@client.timeout = 1
|
94
99
|
end
|
95
100
|
|
96
101
|
it 'should return MessagePack::RPC::TimoutError' do
|
97
102
|
lambda{@client.call(:hello)}.should raise_error(MessagePack::RPC::TimeoutError)
|
98
|
-
end
|
103
|
+
end
|
99
104
|
|
100
|
-
after(:
|
105
|
+
after(:each)do
|
101
106
|
@client.close
|
102
107
|
@lsock.close
|
103
108
|
end
|
@@ -117,8 +122,6 @@ describe "MessagePack::RPC::Loop testing" do
|
|
117
122
|
end
|
118
123
|
|
119
124
|
it "should return correct values when you use MessagePack::RPC::Loop" do
|
120
|
-
count = 0
|
121
|
-
|
122
125
|
@cli.callback(:hello) do |error, result|
|
123
126
|
result.should include("ok")
|
124
127
|
error.should be_nil
|
data/spec/unit/my_server.rb
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
|
7
7
|
def initialize(svr)
|
8
8
|
@svr = svr
|
9
|
+
@count = 0
|
9
10
|
end
|
10
11
|
|
11
12
|
def hello
|
@@ -16,6 +17,14 @@
|
|
16
17
|
a + b
|
17
18
|
end
|
18
19
|
|
20
|
+
def count
|
21
|
+
@count
|
22
|
+
end
|
23
|
+
|
24
|
+
def increase_count
|
25
|
+
@count += 1
|
26
|
+
end
|
27
|
+
|
19
28
|
def exception
|
20
29
|
raise "raised"
|
21
30
|
end
|
@@ -36,10 +45,6 @@
|
|
36
45
|
as
|
37
46
|
end
|
38
47
|
|
39
|
-
def self.next_port
|
40
|
-
@port += 1
|
41
|
-
end
|
42
|
-
|
43
48
|
def self.port
|
44
49
|
@port
|
45
50
|
end
|
@@ -54,26 +59,25 @@
|
|
54
59
|
|
55
60
|
|
56
61
|
module MyServerTest
|
57
|
-
def start_client
|
58
|
-
cli = MessagePack::RPC::Client.new("127.0.0.1",
|
62
|
+
def start_client(port)
|
63
|
+
cli = MessagePack::RPC::Client.new("127.0.0.1", port)
|
59
64
|
cli.timeout = 10
|
60
65
|
return cli
|
61
66
|
end
|
62
67
|
|
63
68
|
def start_server
|
64
|
-
port =
|
69
|
+
port = PortHelper.find_port
|
65
70
|
svr = MessagePack::RPC::Server.new
|
66
71
|
svr.listen("0.0.0.0", port, MyServer.new(svr))
|
67
72
|
Thread.start do
|
68
73
|
svr.run
|
69
74
|
svr.close
|
70
75
|
end
|
71
|
-
return svr, start_client
|
76
|
+
return svr, start_client(port)
|
72
77
|
end
|
73
78
|
|
74
79
|
def server_start_loop
|
75
|
-
|
76
|
-
port =MyServer.next_port
|
80
|
+
port = PortHelper.find_port
|
77
81
|
|
78
82
|
loop = MessagePack::RPC::Loop.new
|
79
83
|
svr =MessagePack::RPC::Server.new(loop)
|
@@ -84,6 +88,14 @@
|
|
84
88
|
|
85
89
|
return svr,cli
|
86
90
|
end
|
87
|
-
|
88
|
-
|
89
91
|
end
|
92
|
+
|
93
|
+
module PortHelper
|
94
|
+
def self.find_port
|
95
|
+
s = TCPServer.new('127.0.0.1', 0)
|
96
|
+
port = s.addr[1]
|
97
|
+
port
|
98
|
+
ensure
|
99
|
+
s.close
|
100
|
+
end
|
101
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: msgpack-rpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- FURUHASHI Sadayuki
|
@@ -9,62 +9,90 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2015-01-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: msgpack
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- - ~>
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.5.
|
20
|
+
version: 0.5.10
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- - ~>
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.5.
|
27
|
+
version: 0.5.10
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: cool.io
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- - ~>
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 1.
|
34
|
+
version: 1.2.4
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- - ~>
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 1.
|
41
|
+
version: 1.2.4
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rake
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - ">="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: rspec
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
45
59
|
requirements:
|
46
|
-
- -
|
60
|
+
- - ">="
|
47
61
|
- !ruby/object:Gem::Version
|
48
62
|
version: '0'
|
49
63
|
type: :development
|
50
64
|
prerelease: false
|
51
65
|
version_requirements: !ruby/object:Gem::Requirement
|
52
66
|
requirements:
|
53
|
-
- -
|
67
|
+
- - ">="
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: test-unit
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '0'
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - ">="
|
54
82
|
- !ruby/object:Gem::Version
|
55
83
|
version: '0'
|
56
84
|
- !ruby/object:Gem::Dependency
|
57
85
|
name: bundler
|
58
86
|
requirement: !ruby/object:Gem::Requirement
|
59
87
|
requirements:
|
60
|
-
- - ~>
|
88
|
+
- - "~>"
|
61
89
|
- !ruby/object:Gem::Version
|
62
90
|
version: '1.0'
|
63
91
|
type: :development
|
64
92
|
prerelease: false
|
65
93
|
version_requirements: !ruby/object:Gem::Requirement
|
66
94
|
requirements:
|
67
|
-
- - ~>
|
95
|
+
- - "~>"
|
68
96
|
- !ruby/object:Gem::Version
|
69
97
|
version: '1.0'
|
70
98
|
description:
|
@@ -75,8 +103,12 @@ executables: []
|
|
75
103
|
extensions: []
|
76
104
|
extra_rdoc_files: []
|
77
105
|
files:
|
106
|
+
- ".gitignore"
|
107
|
+
- ".rspec"
|
108
|
+
- ".travis.yml"
|
78
109
|
- AUTHORS
|
79
110
|
- ChangeLog
|
111
|
+
- Gemfile
|
80
112
|
- NOTICE
|
81
113
|
- README
|
82
114
|
- Rakefile
|
@@ -99,11 +131,9 @@ files:
|
|
99
131
|
- lib/msgpack/rpc/transport/unix.rb
|
100
132
|
- lib/msgpack/rpc/version.rb
|
101
133
|
- msgpack-rpc.gemspec
|
102
|
-
- spec/
|
134
|
+
- spec/spec_helper.rb
|
103
135
|
- spec/unit/client_spec.rb
|
104
136
|
- spec/unit/my_server.rb
|
105
|
-
- spec/unit/spec_helper.rb
|
106
|
-
- tasks/msgpack_rpc_tasks.rake
|
107
137
|
- test/msgpack_rpc_test.rb
|
108
138
|
- test/test_helper.rb
|
109
139
|
homepage: http://msgpack.org/
|
@@ -116,19 +146,23 @@ require_paths:
|
|
116
146
|
- lib
|
117
147
|
required_ruby_version: !ruby/object:Gem::Requirement
|
118
148
|
requirements:
|
119
|
-
- -
|
149
|
+
- - ">="
|
120
150
|
- !ruby/object:Gem::Version
|
121
151
|
version: '0'
|
122
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
123
153
|
requirements:
|
124
|
-
- -
|
154
|
+
- - ">="
|
125
155
|
- !ruby/object:Gem::Version
|
126
156
|
version: '0'
|
127
157
|
requirements: []
|
128
|
-
rubyforge_project:
|
129
|
-
rubygems_version: 2.2.
|
158
|
+
rubyforge_project:
|
159
|
+
rubygems_version: 2.2.2
|
130
160
|
signing_key:
|
131
161
|
specification_version: 4
|
132
162
|
summary: MessagePack-RPC, asynchronous RPC library using MessagePack
|
133
163
|
test_files:
|
164
|
+
- spec/spec_helper.rb
|
165
|
+
- spec/unit/client_spec.rb
|
166
|
+
- spec/unit/my_server.rb
|
167
|
+
- test/msgpack_rpc_test.rb
|
134
168
|
- test/test_helper.rb
|
data/spec/spec.opts
DELETED
data/spec/unit/spec_helper.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# desc "Explaing what task does"
|
2
|
-
|
3
|
-
begin
|
4
|
-
require 'spec'
|
5
|
-
require 'spec/rake/spectask'
|
6
|
-
namespace :spec do
|
7
|
-
desc 'run unit core testing'
|
8
|
-
Spec::Rake::SpecTask.new(:unit) do |t|
|
9
|
-
spec_dir = File.join(File.dirname(__FILE__), '..', 'spec')
|
10
|
-
t.spec_opts = File.read(File.join(spec_dir, 'spec.opts')).split
|
11
|
-
t.spec_files = FileList[File.join(spec_dir, 'unit', '**', '*_spec.rb')]
|
12
|
-
end
|
13
|
-
end
|
14
|
-
rescue LoadError
|
15
|
-
warn "Rspec is not installed. Please install Rspec with gems and --pre"
|
16
|
-
end
|
17
|
-
|
18
|
-
namespace :test do
|
19
|
-
desc "run test"
|
20
|
-
Rake::TestTask.new(:unit) do |t|
|
21
|
-
t.libs << 'lib'
|
22
|
-
t.pattern = 'test/*_test.rb'
|
23
|
-
t.verbose = true
|
24
|
-
end
|
25
|
-
end
|