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.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/Cargo.lock +168 -219
  4. data/crates/itsi_scheduler/Cargo.toml +1 -1
  5. data/crates/itsi_scheduler/extconf.rb +3 -1
  6. data/crates/itsi_server/Cargo.lock +1 -1
  7. data/crates/itsi_server/Cargo.toml +3 -2
  8. data/crates/itsi_server/extconf.rb +3 -1
  9. data/crates/itsi_server/src/lib.rs +1 -0
  10. data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +2 -2
  11. data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +9 -11
  12. data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +6 -1
  13. data/crates/itsi_server/src/server/binds/listener.rs +4 -1
  14. data/crates/itsi_server/src/server/http_message_types.rs +1 -1
  15. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +32 -34
  16. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +3 -4
  17. data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +23 -38
  18. data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +65 -14
  19. data/crates/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +1 -1
  20. data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +1 -1
  21. data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +21 -8
  22. data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +1 -5
  23. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +8 -6
  24. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +12 -3
  25. data/crates/itsi_server/src/server/process_worker.rs +2 -1
  26. data/crates/itsi_server/src/server/serve_strategy/acceptor.rs +96 -0
  27. data/crates/itsi_server/src/server/serve_strategy/mod.rs +1 -0
  28. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +80 -136
  29. data/crates/itsi_server/src/server/thread_worker.rs +10 -3
  30. data/crates/itsi_server/src/services/itsi_http_service.rs +26 -21
  31. data/crates/itsi_server/src/services/mime_types.rs +2893 -1413
  32. data/crates/itsi_server/src/services/rate_limiter.rs +16 -34
  33. data/crates/itsi_server/src/services/static_file_server.rs +147 -121
  34. data/crates/itsi_tracing/Cargo.toml +1 -1
  35. data/docs/content/features/_index.md +1 -1
  36. data/docs/content/itsi_scheduler/_index.md +15 -8
  37. data/examples/rails_with_static_assets/Gemfile.lock +2 -1
  38. data/examples/rails_with_static_assets/Itsi.rb +4 -1
  39. data/gems/scheduler/Cargo.lock +25 -82
  40. data/gems/scheduler/itsi-scheduler.gemspec +1 -1
  41. data/gems/scheduler/lib/itsi/schedule_refinement.rb +2 -2
  42. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  43. data/gems/server/Cargo.lock +167 -218
  44. data/gems/server/itsi-server.gemspec +3 -3
  45. data/gems/server/lib/itsi/server/config/config_helpers.rb +1 -2
  46. data/gems/server/lib/itsi/server/config/middleware/etag.md +3 -7
  47. data/gems/server/lib/itsi/server/config/middleware/etag.rb +2 -4
  48. data/gems/server/lib/itsi/server/config/options/listen_backlog.rb +1 -1
  49. data/gems/server/lib/itsi/server/config/options/send_buffer_size.md +15 -0
  50. data/gems/server/lib/itsi/server/config/options/send_buffer_size.rb +19 -0
  51. data/gems/server/lib/itsi/server/config.rb +24 -25
  52. data/gems/server/lib/itsi/server/route_tester.rb +1 -1
  53. data/gems/server/lib/itsi/server/version.rb +1 -1
  54. data/gems/server/test/middleware/etag.rb +3 -3
  55. data/gems/server/test/options/ruby_thread_request_backlog_size.rb +3 -4
  56. data/lib/itsi/version.rb +1 -1
  57. data/tasks.txt +8 -7
  58. metadata +9 -6
@@ -57,7 +57,7 @@ dependencies = [
57
57
  "regex",
58
58
  "rustc-hash",
59
59
  "shlex",
60
- "syn 2.0.100",
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.19"
77
+ version = "1.2.20"
78
78
  source = "registry+https://github.com/rust-lang/crates.io-index"
79
- checksum = "8e3a13707ac958681c13b39b458c073d0d9bc8a22cb1b2f4c8e55eb72c13f362"
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.100",
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.15"
169
+ version = "0.2.16"
170
170
  source = "registry+https://github.com/rust-lang/crates.io-index"
171
- checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7"
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.14"
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 0.48.5",
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.100",
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 0.52.6",
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.100",
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.100",
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.100"
701
+ version = "2.0.101"
702
702
  source = "registry+https://github.com/rust-lang/crates.io-index"
703
- checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
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.100",
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.100",
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.100",
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 0.52.6",
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 0.52.6",
960
- "windows_aarch64_msvc 0.52.6",
961
- "windows_i686_gnu 0.52.6",
944
+ "windows_aarch64_gnullvm",
945
+ "windows_aarch64_msvc",
946
+ "windows_i686_gnu",
962
947
  "windows_i686_gnullvm",
963
- "windows_i686_msvc 0.52.6",
964
- "windows_x86_64_gnu 0.52.6",
965
- "windows_x86_64_gnullvm 0.52.6",
966
- "windows_x86_64_msvc 0.52.6",
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 = "MIT"
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
- with_index.each_with_object([]) do |(item, index), agg|
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
- with_index.each_with_object([]) do |(item, index), agg|
76
+ each_with_index.each_with_object([]) do |(item, index), agg|
77
77
  schedule do
78
78
  agg[index] = block[item]
79
79
  end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Itsi
4
4
  class Scheduler
5
- VERSION = "0.2.14"
5
+ VERSION = "0.2.16"
6
6
  end
7
7
  end