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 +4 -4
- data/.gitignore +2 -0
- data/ChangeLog +13 -0
- data/lib/rims/cmd.rb +9 -0
- data/lib/rims/service.rb +28 -1
- data/lib/rims/version.rb +1 -1
- data/rims.gemspec +14 -13
- data/test/cmd/test_command.rb +1 -0
- data/test/test_service.rb +15 -0
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba592c87ab4cce58d5f6682fae4a4cf446d441cb2e308fdab045661522668923
|
4
|
+
data.tar.gz: d5d1a23220a7fc458e63d4f496b02a765d89b341c895214d6acf5fae4175afa5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1520dc133af84b45c2bd91853eb77c3338bad120c04c9b9b9b44be679d4275ef55bb5653f3ee18fd3cded962af947232f53d353902f0f209bef6c8d7342a86d5
|
7
|
+
data.tar.gz: cc62bb64bbaac372157304a7f9f8ad816c99aefdd251a577c2db4bfb1b6357b0be6b1c1db166369bf729350ed6fe1ab5c81f5fcc12cd31781ddc835328a187f3
|
data/.gitignore
CHANGED
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
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 =
|
8
|
+
spec.name = 'rims'
|
9
9
|
spec.version = RIMS::VERSION
|
10
|
-
spec.authors = [
|
11
|
-
spec.email = [
|
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 =
|
20
|
-
spec.license =
|
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 = [
|
25
|
+
spec.require_paths = ['lib']
|
26
26
|
|
27
27
|
spec.required_ruby_version = '>= 2.0.0'
|
28
28
|
|
29
|
-
spec.add_runtime_dependency
|
30
|
-
spec.add_runtime_dependency
|
31
|
-
spec.add_runtime_dependency
|
32
|
-
spec.add_development_dependency
|
33
|
-
spec.add_development_dependency
|
34
|
-
spec.add_development_dependency
|
35
|
-
spec.add_development_dependency
|
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:
|
data/test/cmd/test_command.rb
CHANGED
@@ -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.
|
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-
|
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.
|
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.
|
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
|