msgpack-rpc 0.5.1 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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