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.
@@ -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
@@ -0,0 +1,2 @@
1
+ .bundle
2
+ Gemfile.lock
data/.rspec ADDED
@@ -0,0 +1,3 @@
1
+ --color
2
+ --require spec_helper
3
+ --format d
@@ -0,0 +1,13 @@
1
+ language: ruby
2
+ sudo: false
3
+ rvm:
4
+ - 1.9.3
5
+ - 2.0
6
+ - 2.1
7
+ - 2.2
8
+
9
+ script: bundle exec rake test
10
+
11
+ notifications:
12
+ email:
13
+ on_success: change
data/AUTHORS CHANGED
@@ -1 +1,2 @@
1
1
  FURUHASHI Sadayuki <frsyuki _at_ users.sourceforge.jp>
2
+ Shuzo Kashihara <suma _at_ users.sourceforge.jp>
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
@@ -0,0 +1,3 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec
@@ -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
@@ -1 +1 @@
1
- require File.join(File.dirname(__FILE__), 'msgpack', 'rpc')
1
+ require 'msgpack/rpc'
@@ -1,7 +1,7 @@
1
1
  module MessagePack
2
2
  module RPC
3
3
 
4
- VERSION = '0.5.1'
4
+ VERSION = '0.7.0'
5
5
 
6
6
  end
7
7
  end
@@ -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
@@ -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
@@ -1,5 +1,6 @@
1
- require File.join(File.expand_path(File.dirname(__FILE__)), 'spec_helper.rb')
2
- require File.join(File.expand_path(File.dirname(__FILE__)), 'my_server.rb')
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.shouble equal 3
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.notify(:hello).should be_nil
53
- @client.notify(:sum,1,2).should be_nil
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(:all)do
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
@@ -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", MyServer.port)
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 = MyServer.next_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
@@ -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 = addr.to_msgpack
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.1
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: 2012-01-06 00:00:00.000000000Z
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: &70139659980600 !ruby/object:Gem::Requirement
17
- none: false
16
+ requirement: !ruby/object:Gem::Requirement
18
17
  requirements:
19
- - - ~>
18
+ - - ">="
20
19
  - !ruby/object:Gem::Version
21
- version: 0.4.4
20
+ version: '0'
22
21
  type: :runtime
23
22
  prerelease: false
24
- version_requirements: *70139659980600
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: &70139659979780 !ruby/object:Gem::Requirement
28
- none: false
30
+ requirement: !ruby/object:Gem::Requirement
29
31
  requirements:
30
- - - ~>
32
+ - - "~>"
31
33
  - !ruby/object:Gem::Version
32
- version: 1.1.0
34
+ version: 1.7.0
33
35
  type: :runtime
34
36
  prerelease: false
35
- version_requirements: *70139659979780
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: &70139659978900 !ruby/object:Gem::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: *70139659978900
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: frsyuki@users.sourceforge.jp
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
- - spec/spec.opts
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
- rubyforge_project: msgpack
102
- rubygems_version: 1.8.12
159
+ rubygems_version: 3.1.4
103
160
  signing_key:
104
- specification_version: 3
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
@@ -1,7 +0,0 @@
1
- --colour
2
- --format
3
- --progress
4
- --loadby
5
- --mtime
6
- --reverse
7
-
@@ -1,5 +0,0 @@
1
- require 'rubygems'
2
- require 'spec'
3
- $LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'lib')))
4
- require 'msgpack'
5
- require 'msgpack/rpc'
@@ -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