itsi 0.2.14 → 0.2.16
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/CHANGELOG.md +10 -0
- data/Cargo.lock +168 -219
- data/crates/itsi_scheduler/Cargo.toml +1 -1
- data/crates/itsi_scheduler/extconf.rb +3 -1
- data/crates/itsi_server/Cargo.lock +1 -1
- data/crates/itsi_server/Cargo.toml +3 -2
- data/crates/itsi_server/extconf.rb +3 -1
- data/crates/itsi_server/src/lib.rs +1 -0
- data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +2 -2
- data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +9 -11
- data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +6 -1
- data/crates/itsi_server/src/server/binds/listener.rs +4 -1
- data/crates/itsi_server/src/server/http_message_types.rs +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +32 -34
- data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +3 -4
- data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +23 -38
- data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +65 -14
- data/crates/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +1 -1
- data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +21 -8
- data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +1 -5
- data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +8 -6
- data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +12 -3
- data/crates/itsi_server/src/server/process_worker.rs +2 -1
- data/crates/itsi_server/src/server/serve_strategy/acceptor.rs +96 -0
- data/crates/itsi_server/src/server/serve_strategy/mod.rs +1 -0
- data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +80 -136
- data/crates/itsi_server/src/server/thread_worker.rs +10 -3
- data/crates/itsi_server/src/services/itsi_http_service.rs +26 -21
- data/crates/itsi_server/src/services/mime_types.rs +2893 -1413
- data/crates/itsi_server/src/services/rate_limiter.rs +16 -34
- data/crates/itsi_server/src/services/static_file_server.rs +147 -121
- data/crates/itsi_tracing/Cargo.toml +1 -1
- data/docs/content/features/_index.md +1 -1
- data/docs/content/itsi_scheduler/_index.md +15 -8
- data/examples/rails_with_static_assets/Gemfile.lock +2 -1
- data/examples/rails_with_static_assets/Itsi.rb +4 -1
- data/gems/scheduler/Cargo.lock +25 -82
- data/gems/scheduler/itsi-scheduler.gemspec +1 -1
- data/gems/scheduler/lib/itsi/schedule_refinement.rb +2 -2
- data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
- data/gems/server/Cargo.lock +167 -218
- data/gems/server/itsi-server.gemspec +3 -3
- data/gems/server/lib/itsi/server/config/config_helpers.rb +1 -2
- data/gems/server/lib/itsi/server/config/middleware/etag.md +3 -7
- data/gems/server/lib/itsi/server/config/middleware/etag.rb +2 -4
- data/gems/server/lib/itsi/server/config/options/listen_backlog.rb +1 -1
- data/gems/server/lib/itsi/server/config/options/send_buffer_size.md +15 -0
- data/gems/server/lib/itsi/server/config/options/send_buffer_size.rb +19 -0
- data/gems/server/lib/itsi/server/config.rb +24 -25
- data/gems/server/lib/itsi/server/route_tester.rb +1 -1
- data/gems/server/lib/itsi/server/version.rb +1 -1
- data/gems/server/test/middleware/etag.rb +3 -3
- data/gems/server/test/options/ruby_thread_request_backlog_size.rb +3 -4
- data/lib/itsi/version.rb +1 -1
- data/tasks.txt +8 -7
- metadata +9 -6
data/gems/scheduler/Cargo.lock
CHANGED
@@ -57,7 +57,7 @@ dependencies = [
|
|
57
57
|
"regex",
|
58
58
|
"rustc-hash",
|
59
59
|
"shlex",
|
60
|
-
"syn 2.0.
|
60
|
+
"syn 2.0.101",
|
61
61
|
]
|
62
62
|
|
63
63
|
[[package]]
|
@@ -74,9 +74,9 @@ checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
|
|
74
74
|
|
75
75
|
[[package]]
|
76
76
|
name = "cc"
|
77
|
-
version = "1.2.
|
77
|
+
version = "1.2.20"
|
78
78
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
79
|
-
checksum = "
|
79
|
+
checksum = "04da6a0d40b948dfc4fa8f5bbf402b0fc1a64a28dbf7d12ffd683550f2c1b63a"
|
80
80
|
dependencies = [
|
81
81
|
"shlex",
|
82
82
|
]
|
@@ -154,7 +154,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3"
|
|
154
154
|
dependencies = [
|
155
155
|
"proc-macro2",
|
156
156
|
"quote",
|
157
|
-
"syn 2.0.
|
157
|
+
"syn 2.0.101",
|
158
158
|
"unicode-xid",
|
159
159
|
]
|
160
160
|
|
@@ -166,9 +166,9 @@ checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719"
|
|
166
166
|
|
167
167
|
[[package]]
|
168
168
|
name = "getrandom"
|
169
|
-
version = "0.2.
|
169
|
+
version = "0.2.16"
|
170
170
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
171
|
-
checksum = "
|
171
|
+
checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592"
|
172
172
|
dependencies = [
|
173
173
|
"cfg-if",
|
174
174
|
"libc",
|
@@ -213,7 +213,7 @@ checksum = "4a5f13b858c8d314ee3e8f639011f7ccefe71f97f96e50151fb991f267928e2c"
|
|
213
213
|
|
214
214
|
[[package]]
|
215
215
|
name = "itsi-scheduler"
|
216
|
-
version = "0.2.
|
216
|
+
version = "0.2.16"
|
217
217
|
dependencies = [
|
218
218
|
"bytes",
|
219
219
|
"derive_more",
|
@@ -297,7 +297,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
297
297
|
checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34"
|
298
298
|
dependencies = [
|
299
299
|
"cfg-if",
|
300
|
-
"windows-targets
|
300
|
+
"windows-targets",
|
301
301
|
]
|
302
302
|
|
303
303
|
[[package]]
|
@@ -337,7 +337,7 @@ checksum = "5968c820e2960565f647819f5928a42d6e874551cab9d88d75e3e0660d7f71e3"
|
|
337
337
|
dependencies = [
|
338
338
|
"proc-macro2",
|
339
339
|
"quote",
|
340
|
-
"syn 2.0.
|
340
|
+
"syn 2.0.101",
|
341
341
|
]
|
342
342
|
|
343
343
|
[[package]]
|
@@ -443,7 +443,7 @@ dependencies = [
|
|
443
443
|
"libc",
|
444
444
|
"redox_syscall",
|
445
445
|
"smallvec",
|
446
|
-
"windows-targets
|
446
|
+
"windows-targets",
|
447
447
|
]
|
448
448
|
|
449
449
|
[[package]]
|
@@ -507,7 +507,7 @@ dependencies = [
|
|
507
507
|
"quote",
|
508
508
|
"regex",
|
509
509
|
"shell-words",
|
510
|
-
"syn 2.0.
|
510
|
+
"syn 2.0.101",
|
511
511
|
]
|
512
512
|
|
513
513
|
[[package]]
|
@@ -643,7 +643,7 @@ checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
|
|
643
643
|
dependencies = [
|
644
644
|
"proc-macro2",
|
645
645
|
"quote",
|
646
|
-
"syn 2.0.
|
646
|
+
"syn 2.0.101",
|
647
647
|
]
|
648
648
|
|
649
649
|
[[package]]
|
@@ -698,9 +698,9 @@ dependencies = [
|
|
698
698
|
|
699
699
|
[[package]]
|
700
700
|
name = "syn"
|
701
|
-
version = "2.0.
|
701
|
+
version = "2.0.101"
|
702
702
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
703
|
-
checksum = "
|
703
|
+
checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf"
|
704
704
|
dependencies = [
|
705
705
|
"proc-macro2",
|
706
706
|
"quote",
|
@@ -733,7 +733,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
733
733
|
dependencies = [
|
734
734
|
"proc-macro2",
|
735
735
|
"quote",
|
736
|
-
"syn 2.0.
|
736
|
+
"syn 2.0.101",
|
737
737
|
]
|
738
738
|
|
739
739
|
[[package]]
|
@@ -744,7 +744,7 @@ checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
|
|
744
744
|
dependencies = [
|
745
745
|
"proc-macro2",
|
746
746
|
"quote",
|
747
|
-
"syn 2.0.
|
747
|
+
"syn 2.0.101",
|
748
748
|
]
|
749
749
|
|
750
750
|
[[package]]
|
@@ -819,7 +819,7 @@ checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d"
|
|
819
819
|
dependencies = [
|
820
820
|
"proc-macro2",
|
821
821
|
"quote",
|
822
|
-
"syn 2.0.
|
822
|
+
"syn 2.0.101",
|
823
823
|
]
|
824
824
|
|
825
825
|
[[package]]
|
@@ -932,22 +932,7 @@ version = "0.52.0"
|
|
932
932
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
933
933
|
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
|
934
934
|
dependencies = [
|
935
|
-
"windows-targets
|
936
|
-
]
|
937
|
-
|
938
|
-
[[package]]
|
939
|
-
name = "windows-targets"
|
940
|
-
version = "0.48.5"
|
941
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
942
|
-
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
|
943
|
-
dependencies = [
|
944
|
-
"windows_aarch64_gnullvm 0.48.5",
|
945
|
-
"windows_aarch64_msvc 0.48.5",
|
946
|
-
"windows_i686_gnu 0.48.5",
|
947
|
-
"windows_i686_msvc 0.48.5",
|
948
|
-
"windows_x86_64_gnu 0.48.5",
|
949
|
-
"windows_x86_64_gnullvm 0.48.5",
|
950
|
-
"windows_x86_64_msvc 0.48.5",
|
935
|
+
"windows-targets",
|
951
936
|
]
|
952
937
|
|
953
938
|
[[package]]
|
@@ -956,46 +941,28 @@ version = "0.52.6"
|
|
956
941
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
957
942
|
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
|
958
943
|
dependencies = [
|
959
|
-
"windows_aarch64_gnullvm
|
960
|
-
"windows_aarch64_msvc
|
961
|
-
"windows_i686_gnu
|
944
|
+
"windows_aarch64_gnullvm",
|
945
|
+
"windows_aarch64_msvc",
|
946
|
+
"windows_i686_gnu",
|
962
947
|
"windows_i686_gnullvm",
|
963
|
-
"windows_i686_msvc
|
964
|
-
"windows_x86_64_gnu
|
965
|
-
"windows_x86_64_gnullvm
|
966
|
-
"windows_x86_64_msvc
|
948
|
+
"windows_i686_msvc",
|
949
|
+
"windows_x86_64_gnu",
|
950
|
+
"windows_x86_64_gnullvm",
|
951
|
+
"windows_x86_64_msvc",
|
967
952
|
]
|
968
953
|
|
969
|
-
[[package]]
|
970
|
-
name = "windows_aarch64_gnullvm"
|
971
|
-
version = "0.48.5"
|
972
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
973
|
-
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
|
974
|
-
|
975
954
|
[[package]]
|
976
955
|
name = "windows_aarch64_gnullvm"
|
977
956
|
version = "0.52.6"
|
978
957
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
979
958
|
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
|
980
959
|
|
981
|
-
[[package]]
|
982
|
-
name = "windows_aarch64_msvc"
|
983
|
-
version = "0.48.5"
|
984
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
985
|
-
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
|
986
|
-
|
987
960
|
[[package]]
|
988
961
|
name = "windows_aarch64_msvc"
|
989
962
|
version = "0.52.6"
|
990
963
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
991
964
|
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
|
992
965
|
|
993
|
-
[[package]]
|
994
|
-
name = "windows_i686_gnu"
|
995
|
-
version = "0.48.5"
|
996
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
997
|
-
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
|
998
|
-
|
999
966
|
[[package]]
|
1000
967
|
name = "windows_i686_gnu"
|
1001
968
|
version = "0.52.6"
|
@@ -1008,48 +975,24 @@ version = "0.52.6"
|
|
1008
975
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1009
976
|
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
|
1010
977
|
|
1011
|
-
[[package]]
|
1012
|
-
name = "windows_i686_msvc"
|
1013
|
-
version = "0.48.5"
|
1014
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1015
|
-
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
|
1016
|
-
|
1017
978
|
[[package]]
|
1018
979
|
name = "windows_i686_msvc"
|
1019
980
|
version = "0.52.6"
|
1020
981
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1021
982
|
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
|
1022
983
|
|
1023
|
-
[[package]]
|
1024
|
-
name = "windows_x86_64_gnu"
|
1025
|
-
version = "0.48.5"
|
1026
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1027
|
-
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
|
1028
|
-
|
1029
984
|
[[package]]
|
1030
985
|
name = "windows_x86_64_gnu"
|
1031
986
|
version = "0.52.6"
|
1032
987
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1033
988
|
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
|
1034
989
|
|
1035
|
-
[[package]]
|
1036
|
-
name = "windows_x86_64_gnullvm"
|
1037
|
-
version = "0.48.5"
|
1038
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1039
|
-
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
|
1040
|
-
|
1041
990
|
[[package]]
|
1042
991
|
name = "windows_x86_64_gnullvm"
|
1043
992
|
version = "0.52.6"
|
1044
993
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1045
994
|
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
|
1046
995
|
|
1047
|
-
[[package]]
|
1048
|
-
name = "windows_x86_64_msvc"
|
1049
|
-
version = "0.48.5"
|
1050
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
1051
|
-
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
|
1052
|
-
|
1053
996
|
[[package]]
|
1054
997
|
name = "windows_x86_64_msvc"
|
1055
998
|
version = "0.52.6"
|
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
|
|
11
11
|
spec.summary = "Itsi Scheduler - A light-weight Fiber Scheduler implementation for Ruby."
|
12
12
|
spec.description = "Itsi Scheduler - A light-weight Fiber Scheduler implementation for Ruby"
|
13
13
|
spec.homepage = "https://itsi.fyi"
|
14
|
-
spec.license = "
|
14
|
+
spec.license = "LGPL-3.0"
|
15
15
|
spec.required_ruby_version = ">= 3.0"
|
16
16
|
spec.required_rubygems_version = ">= 3.1.11"
|
17
17
|
|
@@ -65,7 +65,7 @@ module Itsi
|
|
65
65
|
def schedule_map(&block)
|
66
66
|
return Enumerator.new do |y|
|
67
67
|
schedule do
|
68
|
-
|
68
|
+
each_with_index.each_with_object([]) do |(item, index), agg|
|
69
69
|
schedule do
|
70
70
|
agg[index] = (y << item)
|
71
71
|
end
|
@@ -73,7 +73,7 @@ module Itsi
|
|
73
73
|
end
|
74
74
|
end.map unless block_given?
|
75
75
|
schedule do
|
76
|
-
|
76
|
+
each_with_index.each_with_object([]) do |(item, index), agg|
|
77
77
|
schedule do
|
78
78
|
agg[index] = block[item]
|
79
79
|
end
|