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