msgpack-rpc 0.5.1 → 0.7.0
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 +7 -0
- data/.gitignore +2 -0
- data/.rspec +3 -0
- data/.travis.yml +13 -0
- data/AUTHORS +1 -0
- data/ChangeLog +17 -0
- data/Gemfile +3 -0
- data/Rakefile +21 -0
- data/lib/msgpack-rpc.rb +1 -1
- data/lib/msgpack/rpc/version.rb +1 -1
- data/msgpack-rpc.gemspec +23 -0
- data/pkg/msgpack-rpc-0.6.0.gem +0 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/unit/client_spec.rb +16 -13
- data/spec/unit/my_server.rb +24 -12
- data/test/msgpack_rpc_test.rb +2 -1
- metadata +90 -29
- data/spec/spec.opts +0 -7
- data/spec/unit/spec_helper.rb +0 -5
- data/tasks/msgpack_rpc_tasks.rake +0 -25
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 0bf54347c6906334835c6678b782993cf2d79a4e9df0db6c84fe3a2621a6e5d4
|
4
|
+
data.tar.gz: bc45eeee2ef70880dccc8fac6d4ba7c7e7fe16be8cab8449a62fb1c83f949660
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: ae9473b8c4ccc7ee62471f17d106e684e792a4f62b8bad751de792bcb19fdd050f9de06f1aabe74379d02cc2dedd6499dfa8cbf6d4deb7e0fd1f119a2286a8ce
|
7
|
+
data.tar.gz: 5cc41b7af9e8d123060744cb4b34f88161032bec41d059d80cf1336810a6492f94f3ddb166dec5fb3d43e20c44b93fee7bf4951a3b4e5b674f07e8498057a8cf
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/AUTHORS
CHANGED
data/ChangeLog
CHANGED
@@ -1,3 +1,20 @@
|
|
1
|
+
2020-10-07 version 0.7.0
|
2
|
+
|
3
|
+
* Upgrade cool.io-1.7.0
|
4
|
+
|
5
|
+
2017-04-06 version 0.6.0
|
6
|
+
|
7
|
+
* Relax msgpack version requirements for supporting Ruby 2.4 and further
|
8
|
+
|
9
|
+
2015-01-13 version 0.5.3
|
10
|
+
|
11
|
+
* Upgrade cool.io-1.2.4 for Ruby 2.2
|
12
|
+
* Upgrade msgpack-0.5.10
|
13
|
+
|
14
|
+
2013-01-22 version 0.5.2
|
15
|
+
|
16
|
+
* Upgrade msgpack-0.5.8 for Ruby 2.0
|
17
|
+
* Use bundler for packaging
|
1
18
|
|
2
19
|
2012-01-05 version 0.5.1
|
3
20
|
|
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
require "rspec/core/rake_task"
|
4
|
+
|
5
|
+
RSpec::Core::RakeTask.new(:spec)
|
6
|
+
|
7
|
+
require 'rake/testtask'
|
8
|
+
require 'rake/clean'
|
9
|
+
|
10
|
+
task :default => [:build]
|
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
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
2
|
+
require 'msgpack/rpc/version'
|
3
|
+
|
4
|
+
Gem::Specification.new do |s|
|
5
|
+
s.name = "msgpack-rpc"
|
6
|
+
s.version = MessagePack::RPC::VERSION
|
7
|
+
s.authors = ["FURUHASHI Sadayuki", "Shuzo Kashihara"]
|
8
|
+
s.email = ["frsyuki@users.sourceforge.jp", "suma@users.sourceforge.jp"]
|
9
|
+
s.files = `git ls-files`.split("\n")
|
10
|
+
s.test_files = s.files.grep(%r{^(test|spec|features)/})
|
11
|
+
s.license = "Apache 2.0"
|
12
|
+
s.homepage = "http://msgpack.org/"
|
13
|
+
s.require_paths = ["lib"]
|
14
|
+
s.summary = "MessagePack-RPC, asynchronous RPC library using MessagePack"
|
15
|
+
|
16
|
+
s.add_runtime_dependency "msgpack"
|
17
|
+
s.add_runtime_dependency "cool.io", ["~> 1.7.0"]
|
18
|
+
s.add_development_dependency "rake"
|
19
|
+
s.add_development_dependency "rspec"
|
20
|
+
s.add_development_dependency "test-unit"
|
21
|
+
s.add_development_dependency 'bundler', ["~> 1.0"]
|
22
|
+
end
|
23
|
+
|
Binary file
|
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
|
data/test/msgpack_rpc_test.rb
CHANGED
@@ -288,7 +288,8 @@ class MessagePackRPCTest < Test::Unit::TestCase
|
|
288
288
|
|
289
289
|
def test_address
|
290
290
|
addr = MessagePack::RPC::Address.new('172.16.0.11', 18900)
|
291
|
-
raw =
|
291
|
+
raw = ''
|
292
|
+
addr.to_msgpack(raw)
|
292
293
|
msg = MessagePack.unpack(raw)
|
293
294
|
addr2 = MessagePack::RPC::Address.load(msg)
|
294
295
|
assert_equal(addr, addr2)
|
metadata
CHANGED
@@ -1,59 +1,117 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: msgpack-rpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.7.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- FURUHASHI Sadayuki
|
8
|
+
- Shuzo Kashihara
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2020-10-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: msgpack
|
16
|
-
requirement:
|
17
|
-
none: false
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
18
17
|
requirements:
|
19
|
-
- -
|
18
|
+
- - ">="
|
20
19
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0
|
20
|
+
version: '0'
|
22
21
|
type: :runtime
|
23
22
|
prerelease: false
|
24
|
-
version_requirements:
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - ">="
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: '0'
|
25
28
|
- !ruby/object:Gem::Dependency
|
26
29
|
name: cool.io
|
27
|
-
requirement:
|
28
|
-
none: false
|
30
|
+
requirement: !ruby/object:Gem::Requirement
|
29
31
|
requirements:
|
30
|
-
- - ~>
|
32
|
+
- - "~>"
|
31
33
|
- !ruby/object:Gem::Version
|
32
|
-
version: 1.
|
34
|
+
version: 1.7.0
|
33
35
|
type: :runtime
|
34
36
|
prerelease: false
|
35
|
-
version_requirements:
|
37
|
+
version_requirements: !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
39
|
+
- - "~>"
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: 1.7.0
|
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'
|
36
56
|
- !ruby/object:Gem::Dependency
|
37
57
|
name: rspec
|
38
|
-
requirement:
|
39
|
-
none: false
|
58
|
+
requirement: !ruby/object:Gem::Requirement
|
40
59
|
requirements:
|
41
|
-
- -
|
60
|
+
- - ">="
|
42
61
|
- !ruby/object:Gem::Version
|
43
62
|
version: '0'
|
44
63
|
type: :development
|
45
64
|
prerelease: false
|
46
|
-
version_requirements:
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
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
|
+
- - ">="
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '0'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: bundler
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '1.0'
|
91
|
+
type: :development
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '1.0'
|
47
98
|
description:
|
48
|
-
email:
|
99
|
+
email:
|
100
|
+
- frsyuki@users.sourceforge.jp
|
101
|
+
- suma@users.sourceforge.jp
|
49
102
|
executables: []
|
50
103
|
extensions: []
|
51
104
|
extra_rdoc_files: []
|
52
105
|
files:
|
106
|
+
- ".gitignore"
|
107
|
+
- ".rspec"
|
108
|
+
- ".travis.yml"
|
53
109
|
- AUTHORS
|
54
110
|
- ChangeLog
|
111
|
+
- Gemfile
|
55
112
|
- NOTICE
|
56
113
|
- README
|
114
|
+
- Rakefile
|
57
115
|
- lib/msgpack-rpc.rb
|
58
116
|
- lib/msgpack/rpc.rb
|
59
117
|
- lib/msgpack/rpc/address.rb
|
@@ -72,36 +130,39 @@ files:
|
|
72
130
|
- lib/msgpack/rpc/transport/udp.rb
|
73
131
|
- lib/msgpack/rpc/transport/unix.rb
|
74
132
|
- lib/msgpack/rpc/version.rb
|
75
|
-
-
|
133
|
+
- msgpack-rpc.gemspec
|
134
|
+
- pkg/msgpack-rpc-0.6.0.gem
|
135
|
+
- spec/spec_helper.rb
|
76
136
|
- spec/unit/client_spec.rb
|
77
137
|
- spec/unit/my_server.rb
|
78
|
-
- spec/unit/spec_helper.rb
|
79
|
-
- tasks/msgpack_rpc_tasks.rake
|
80
138
|
- test/msgpack_rpc_test.rb
|
81
139
|
- test/test_helper.rb
|
82
140
|
homepage: http://msgpack.org/
|
83
|
-
licenses:
|
141
|
+
licenses:
|
142
|
+
- Apache 2.0
|
143
|
+
metadata: {}
|
84
144
|
post_install_message:
|
85
145
|
rdoc_options: []
|
86
146
|
require_paths:
|
87
147
|
- lib
|
88
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
149
|
requirements:
|
91
|
-
- -
|
150
|
+
- - ">="
|
92
151
|
- !ruby/object:Gem::Version
|
93
152
|
version: '0'
|
94
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
95
|
-
none: false
|
96
154
|
requirements:
|
97
|
-
- -
|
155
|
+
- - ">="
|
98
156
|
- !ruby/object:Gem::Version
|
99
157
|
version: '0'
|
100
158
|
requirements: []
|
101
|
-
|
102
|
-
rubygems_version: 1.8.12
|
159
|
+
rubygems_version: 3.1.4
|
103
160
|
signing_key:
|
104
|
-
specification_version:
|
161
|
+
specification_version: 4
|
105
162
|
summary: MessagePack-RPC, asynchronous RPC library using MessagePack
|
106
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
|
107
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
|