rims 0.2.7 → 0.2.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8f01bbf0c8b6eb4045ff043dcdd0b45f4a4d1fed52e56faba3d9de19862945a0
4
- data.tar.gz: ef55b1ce253f09885b12d31462ddf403953d8c7f71cc10804519683320b783dd
3
+ metadata.gz: ba592c87ab4cce58d5f6682fae4a4cf446d441cb2e308fdab045661522668923
4
+ data.tar.gz: d5d1a23220a7fc458e63d4f496b02a765d89b341c895214d6acf5fae4175afa5
5
5
  SHA512:
6
- metadata.gz: 4b4895651585be46229c11f5224fa00b70fbbd255a6ebea958a49cc042b5d3998c07b3bf2dd9ede7901c9198ab7cb7cbfb493eb0c278eb47599475ef4af4ceb1
7
- data.tar.gz: 32d599e976f82f303cb7d7fffcc8d0fd511729523852e20daac9dbc52744c80962955164146fa2f8bdc9cc39ff3c2510742abb2d91ffd572f97fbdfed00126e8
6
+ metadata.gz: 1520dc133af84b45c2bd91853eb77c3338bad120c04c9b9b9b44be679d4275ef55bb5653f3ee18fd3cded962af947232f53d353902f0f209bef6c8d7342a86d5
7
+ data.tar.gz: cc62bb64bbaac372157304a7f9f8ad816c99aefdd251a577c2db4bfb1b6357b0be6b1c1db166369bf729350ed6fe1ab5c81f5fcc12cd31781ddc835328a187f3
data/.gitignore CHANGED
@@ -17,4 +17,6 @@
17
17
  /Gemfile_local*
18
18
  /README.html
19
19
  *~
20
+ .#*
21
+ \#*
20
22
  *.log
data/ChangeLog CHANGED
@@ -1,3 +1,16 @@
1
+ 2019-10-10 TOKI Yoshinori <toki@freedom.ne.jp>
2
+
3
+ * RIMS version 0.2.8 is released.
4
+
5
+ 2019-08-12 TOKI Yoshinori <toki@freedom.ne.jp>
6
+
7
+ * lib/rims/cmd.rb, lib/rims/service.rb: DRb service load_limit
8
+ option.
9
+
10
+ 2019-07-27 TOKI Yoshinori <toki@freedom.ne.jp>
11
+
12
+ * RIMS version 0.2.7 is released.
13
+
1
14
  2019-07-25 TOKI Yoshinori <toki@freedom.ne.jp>
2
15
 
3
16
  * lib/rims/cmd.rb, lib/rims/protocol/decoder.rb,
data/lib/rims/cmd.rb CHANGED
@@ -523,6 +523,15 @@ module RIMS
523
523
  })
524
524
  }
525
525
  end
526
+ options.on('--drb-load-limit=NUMBER',
527
+ Integer
528
+ ) do |size|
529
+ build.chain{|c|
530
+ c.load(drb_services: {
531
+ load_limit: size
532
+ })
533
+ }
534
+ end
526
535
  options.on('--bulk-response-count=COUNT',
527
536
  Integer) do |count|
528
537
  build.chain{|c|
data/lib/rims/service.rb CHANGED
@@ -172,6 +172,7 @@ module RIMS
172
172
  # replaced_mark: "\uFFFD"
173
173
  # drb_services:
174
174
  # process_num: 4
175
+ # load_limit: 134217728
175
176
  # engine:
176
177
  # bulk_response_count: 100
177
178
  # read_lock_timeout_seconds: 30
@@ -618,6 +619,24 @@ module RIMS
618
619
  @config.dig('drb_services', 'process_num') || 0
619
620
  end
620
621
 
622
+ def drb_server_config
623
+ config = {}
624
+ if (load_limit = @config.dig('drb_services', 'load_limit')) then
625
+ config[:load_limit] = load_limit
626
+ end
627
+
628
+ config
629
+ end
630
+
631
+ def drb_client_config
632
+ config = {}
633
+ if (load_limit = @config.dig('drb_services', 'load_limit')) then
634
+ config[:load_limit] = load_limit
635
+ end
636
+
637
+ config
638
+ end
639
+
621
640
  def bulk_response_count
622
641
  @config.dig('drb_services', 'engine', 'bulk_response_count') || 100
623
642
  end
@@ -843,7 +862,9 @@ module RIMS
843
862
  end
844
863
  end
845
864
 
846
- drb_services = Riser::DRbServices.new(drb_process_num)
865
+ drb_services = Riser::DRbServices.new(drb_process_num,
866
+ server_config: @config.drb_server_config,
867
+ client_config: @config.drb_client_config)
847
868
  drb_services.add_sticky_process_service(:engine,
848
869
  Riser::ResourceSet.build{|builder|
849
870
  builder.at_create{|unique_user_id|
@@ -967,6 +988,12 @@ module RIMS
967
988
  logger.info("charset convert_options parameter: #{name}=#{value}")
968
989
  end
969
990
  logger.info("drb_services parameter: process_num=#{drb_process_num}")
991
+ for name, value in @config.drb_server_config
992
+ logger.info("drb_services server config parameter: #{name}=#{value}")
993
+ end
994
+ for name, value in @config.drb_client_config
995
+ logger.info("drb_services client config parameter: #{name}=#{value}")
996
+ end
970
997
  logger.info("drb_services engine parameter: bulk_response_count=#{@config.bulk_response_count}")
971
998
  logger.info("drb_services engine parameter: read_lock_timeout_seconds=#{@config.read_lock_timeout_seconds}")
972
999
  logger.info("drb_services engine parameter: write_lock_timeout_seconds=#{@config.write_lock_timeout_seconds}")
data/lib/rims/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
 
3
3
  module RIMS
4
- VERSION = '0.2.7'
4
+ VERSION = '0.2.8'
5
5
  MAILBOX_DATA_STRUCTURE_VERSION = 'mailbox.2'
6
6
  end
7
7
 
data/rims.gemspec CHANGED
@@ -5,10 +5,10 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'rims/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "rims"
8
+ spec.name = 'rims'
9
9
  spec.version = RIMS::VERSION
10
- spec.authors = ["TOKI Yoshinori"]
11
- spec.email = ["toki@freedom.ne.jp"]
10
+ spec.authors = ['TOKI Yoshinori']
11
+ spec.email = ['toki@freedom.ne.jp']
12
12
  spec.summary = %q{RIMS is Ruby IMap Server}
13
13
  spec.description = <<-'EOF'
14
14
  RIMS is Ruby IMap Server.
@@ -16,23 +16,24 @@ Gem::Specification.new do |spec|
16
16
  server can run as a daemon, mailboxes are provided and messages
17
17
  can be delivered to them.
18
18
  EOF
19
- spec.homepage = "https://github.com/y10k/rims"
20
- spec.license = "MIT"
19
+ spec.homepage = 'https://github.com/y10k/rims'
20
+ spec.license = 'MIT'
21
21
 
22
22
  spec.files = `git ls-files`.split($/)
23
23
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
24
24
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
25
- spec.require_paths = ["lib"]
25
+ spec.require_paths = ['lib']
26
26
 
27
27
  spec.required_ruby_version = '>= 2.0.0'
28
28
 
29
- spec.add_runtime_dependency "rims-rfc822", '>= 0.2.2'
30
- spec.add_runtime_dependency "riser", '>= 0.1.8'
31
- spec.add_runtime_dependency "logger-joint"
32
- spec.add_development_dependency "bundler"
33
- spec.add_development_dependency "rake"
34
- spec.add_development_dependency "test-unit"
35
- spec.add_development_dependency "rdoc"
29
+ spec.add_runtime_dependency 'rims-rfc822', '>= 0.2.2'
30
+ spec.add_runtime_dependency 'riser', '>= 0.1.11'
31
+ spec.add_runtime_dependency 'logger-joint'
32
+ spec.add_development_dependency 'bundler'
33
+ spec.add_development_dependency 'rake'
34
+ spec.add_development_dependency 'test-unit'
35
+ spec.add_development_dependency 'rdoc'
36
+ spec.add_development_dependency 'irb'
36
37
  end
37
38
 
38
39
  # Local Variables:
@@ -154,6 +154,7 @@ module RIMS::Test
154
154
 
155
155
  # drb_services:
156
156
  '--drb-process-num' => [ %W[ -f #{BASE_DIR}/config.yml --drb-process-num=4 ] ],
157
+ '--drb-load-limit' => [ %W[ -f #{BASE_DIR}/config.yml --drb-load-limit=134217728 ] ],
157
158
 
158
159
  # drb_services engine:
159
160
  '--bulk-response-count' => [ %W[ -f #{BASE_DIR}/config.yml --bulk-response-count=128 ] ],
data/test/test_service.rb CHANGED
@@ -825,6 +825,21 @@ module RIMS::Test
825
825
  assert_equal(expected_value, @c.drb_process_num)
826
826
  end
827
827
 
828
+ data('default' => [ {}, {}, {} ],
829
+ 'load_limit' => [ { load_limit: 134217728 },
830
+ { load_limit: 134217728 },
831
+ { drb_services: {
832
+ load_limit: 134217728
833
+ }
834
+ }
835
+ ])
836
+ def test_drb_server_client_config(data)
837
+ expected_server_config, expected_client_config, config = data
838
+ @c.load(config)
839
+ assert_equal(expected_server_config, @c.drb_server_config)
840
+ assert_equal(expected_client_config, @c.drb_client_config)
841
+ end
842
+
828
843
  data('default' => [ 100, {} ],
829
844
  'config' => [ 1024,
830
845
  { drb_services: {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rims
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.7
4
+ version: 0.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - TOKI Yoshinori
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-27 00:00:00.000000000 Z
11
+ date: 2019-10-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rims-rfc822
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.8
33
+ version: 0.1.11
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.8
40
+ version: 0.1.11
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: logger-joint
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: irb
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: |2
112
126
  RIMS is Ruby IMap Server.
113
127
  This gem provides a complete IMAP server by itself. The IMAP