rims 0.2.7 → 0.2.8

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 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