itsi 0.2.15 → 0.2.17

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 (182) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +23 -0
  3. data/Cargo.lock +76 -74
  4. data/crates/itsi_acme/Cargo.toml +1 -1
  5. data/crates/itsi_scheduler/Cargo.toml +1 -1
  6. data/crates/itsi_scheduler/extconf.rb +3 -1
  7. data/crates/itsi_server/Cargo.lock +1 -1
  8. data/crates/itsi_server/Cargo.toml +3 -1
  9. data/crates/itsi_server/extconf.rb +3 -1
  10. data/crates/itsi_server/src/lib.rs +7 -1
  11. data/crates/itsi_server/src/ruby_types/itsi_body_proxy/mod.rs +2 -0
  12. data/crates/itsi_server/src/ruby_types/itsi_grpc_call.rs +6 -6
  13. data/crates/itsi_server/src/ruby_types/itsi_grpc_response_stream/mod.rs +14 -13
  14. data/crates/itsi_server/src/ruby_types/itsi_http_request.rs +71 -42
  15. data/crates/itsi_server/src/ruby_types/itsi_http_response.rs +151 -152
  16. data/crates/itsi_server/src/ruby_types/itsi_server/file_watcher.rs +6 -15
  17. data/crates/itsi_server/src/ruby_types/itsi_server/itsi_server_config.rs +32 -6
  18. data/crates/itsi_server/src/ruby_types/itsi_server.rs +1 -1
  19. data/crates/itsi_server/src/server/binds/listener.rs +49 -8
  20. data/crates/itsi_server/src/server/frame_stream.rs +142 -0
  21. data/crates/itsi_server/src/server/http_message_types.rs +143 -10
  22. data/crates/itsi_server/src/server/io_stream.rs +28 -5
  23. data/crates/itsi_server/src/server/lifecycle_event.rs +1 -1
  24. data/crates/itsi_server/src/server/middleware_stack/middlewares/auth_basic.rs +2 -3
  25. data/crates/itsi_server/src/server/middleware_stack/middlewares/compression.rs +8 -10
  26. data/crates/itsi_server/src/server/middleware_stack/middlewares/cors.rs +2 -3
  27. data/crates/itsi_server/src/server/middleware_stack/middlewares/csp.rs +3 -3
  28. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response/default_responses.rs +54 -58
  29. data/crates/itsi_server/src/server/middleware_stack/middlewares/error_response.rs +6 -9
  30. data/crates/itsi_server/src/server/middleware_stack/middlewares/etag.rs +27 -42
  31. data/crates/itsi_server/src/server/middleware_stack/middlewares/log_requests.rs +65 -14
  32. data/crates/itsi_server/src/server/middleware_stack/middlewares/max_body.rs +1 -1
  33. data/crates/itsi_server/src/server/middleware_stack/middlewares/proxy.rs +8 -11
  34. data/crates/itsi_server/src/server/middleware_stack/middlewares/rate_limit.rs +21 -8
  35. data/crates/itsi_server/src/server/middleware_stack/middlewares/redirect.rs +2 -3
  36. data/crates/itsi_server/src/server/middleware_stack/middlewares/ruby_app.rs +1 -5
  37. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_assets.rs +1 -2
  38. data/crates/itsi_server/src/server/middleware_stack/middlewares/static_response.rs +13 -6
  39. data/crates/itsi_server/src/server/mod.rs +1 -0
  40. data/crates/itsi_server/src/server/process_worker.rs +5 -5
  41. data/crates/itsi_server/src/server/serve_strategy/acceptor.rs +100 -0
  42. data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +87 -31
  43. data/crates/itsi_server/src/server/serve_strategy/mod.rs +1 -0
  44. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +166 -206
  45. data/crates/itsi_server/src/server/signal.rs +37 -9
  46. data/crates/itsi_server/src/server/thread_worker.rs +92 -70
  47. data/crates/itsi_server/src/services/itsi_http_service.rs +67 -62
  48. data/crates/itsi_server/src/services/mime_types.rs +185 -183
  49. data/crates/itsi_server/src/services/rate_limiter.rs +16 -34
  50. data/crates/itsi_server/src/services/static_file_server.rs +35 -60
  51. data/docs/benchmark-dashboard/.gitignore +27 -0
  52. data/docs/benchmark-dashboard/app/api/benchmarks/route.ts +22 -0
  53. data/docs/benchmark-dashboard/app/globals.css +94 -0
  54. data/docs/benchmark-dashboard/app/layout.tsx +20 -0
  55. data/docs/benchmark-dashboard/app/page.tsx +252 -0
  56. data/docs/benchmark-dashboard/components/benchmark-dashboard.tsx +1663 -0
  57. data/docs/benchmark-dashboard/components/theme-provider.tsx +11 -0
  58. data/docs/benchmark-dashboard/components/ui/accordion.tsx +58 -0
  59. data/docs/benchmark-dashboard/components/ui/alert-dialog.tsx +141 -0
  60. data/docs/benchmark-dashboard/components/ui/alert.tsx +59 -0
  61. data/docs/benchmark-dashboard/components/ui/aspect-ratio.tsx +7 -0
  62. data/docs/benchmark-dashboard/components/ui/avatar.tsx +50 -0
  63. data/docs/benchmark-dashboard/components/ui/badge.tsx +36 -0
  64. data/docs/benchmark-dashboard/components/ui/breadcrumb.tsx +115 -0
  65. data/docs/benchmark-dashboard/components/ui/button.tsx +56 -0
  66. data/docs/benchmark-dashboard/components/ui/calendar.tsx +66 -0
  67. data/docs/benchmark-dashboard/components/ui/card.tsx +79 -0
  68. data/docs/benchmark-dashboard/components/ui/carousel.tsx +262 -0
  69. data/docs/benchmark-dashboard/components/ui/chart.tsx +365 -0
  70. data/docs/benchmark-dashboard/components/ui/checkbox.tsx +30 -0
  71. data/docs/benchmark-dashboard/components/ui/collapsible.tsx +11 -0
  72. data/docs/benchmark-dashboard/components/ui/command.tsx +153 -0
  73. data/docs/benchmark-dashboard/components/ui/context-menu.tsx +200 -0
  74. data/docs/benchmark-dashboard/components/ui/dialog.tsx +122 -0
  75. data/docs/benchmark-dashboard/components/ui/drawer.tsx +118 -0
  76. data/docs/benchmark-dashboard/components/ui/dropdown-menu.tsx +200 -0
  77. data/docs/benchmark-dashboard/components/ui/form.tsx +178 -0
  78. data/docs/benchmark-dashboard/components/ui/hover-card.tsx +29 -0
  79. data/docs/benchmark-dashboard/components/ui/input-otp.tsx +71 -0
  80. data/docs/benchmark-dashboard/components/ui/input.tsx +22 -0
  81. data/docs/benchmark-dashboard/components/ui/label.tsx +26 -0
  82. data/docs/benchmark-dashboard/components/ui/loading-spinner.tsx +12 -0
  83. data/docs/benchmark-dashboard/components/ui/menubar.tsx +236 -0
  84. data/docs/benchmark-dashboard/components/ui/navigation-menu.tsx +128 -0
  85. data/docs/benchmark-dashboard/components/ui/pagination.tsx +117 -0
  86. data/docs/benchmark-dashboard/components/ui/popover.tsx +31 -0
  87. data/docs/benchmark-dashboard/components/ui/progress.tsx +28 -0
  88. data/docs/benchmark-dashboard/components/ui/radio-group.tsx +44 -0
  89. data/docs/benchmark-dashboard/components/ui/resizable.tsx +45 -0
  90. data/docs/benchmark-dashboard/components/ui/scroll-area.tsx +48 -0
  91. data/docs/benchmark-dashboard/components/ui/select.tsx +160 -0
  92. data/docs/benchmark-dashboard/components/ui/separator.tsx +31 -0
  93. data/docs/benchmark-dashboard/components/ui/sheet.tsx +140 -0
  94. data/docs/benchmark-dashboard/components/ui/sidebar.tsx +763 -0
  95. data/docs/benchmark-dashboard/components/ui/skeleton.tsx +15 -0
  96. data/docs/benchmark-dashboard/components/ui/slider.tsx +28 -0
  97. data/docs/benchmark-dashboard/components/ui/sonner.tsx +31 -0
  98. data/docs/benchmark-dashboard/components/ui/switch.tsx +29 -0
  99. data/docs/benchmark-dashboard/components/ui/table.tsx +117 -0
  100. data/docs/benchmark-dashboard/components/ui/tabs.tsx +55 -0
  101. data/docs/benchmark-dashboard/components/ui/textarea.tsx +22 -0
  102. data/docs/benchmark-dashboard/components/ui/toast.tsx +129 -0
  103. data/docs/benchmark-dashboard/components/ui/toaster.tsx +35 -0
  104. data/docs/benchmark-dashboard/components/ui/toggle-group.tsx +61 -0
  105. data/docs/benchmark-dashboard/components/ui/toggle.tsx +45 -0
  106. data/docs/benchmark-dashboard/components/ui/tooltip.tsx +30 -0
  107. data/docs/benchmark-dashboard/components/ui/use-mobile.tsx +19 -0
  108. data/docs/benchmark-dashboard/components/ui/use-toast.ts +194 -0
  109. data/docs/benchmark-dashboard/components.json +21 -0
  110. data/docs/benchmark-dashboard/dist/benchmark-dashboard.css +1 -0
  111. data/docs/benchmark-dashboard/dist/benchmark-dashboard.iife.js +211 -0
  112. data/docs/benchmark-dashboard/dist/placeholder-logo.png +0 -0
  113. data/docs/benchmark-dashboard/dist/placeholder-logo.svg +1 -0
  114. data/docs/benchmark-dashboard/dist/placeholder-user.jpg +0 -0
  115. data/docs/benchmark-dashboard/dist/placeholder.jpg +0 -0
  116. data/docs/benchmark-dashboard/dist/placeholder.svg +1 -0
  117. data/docs/benchmark-dashboard/embed.tsx +13 -0
  118. data/docs/benchmark-dashboard/hooks/use-mobile.tsx +19 -0
  119. data/docs/benchmark-dashboard/hooks/use-toast.ts +194 -0
  120. data/docs/benchmark-dashboard/lib/benchmark-utils.ts +54 -0
  121. data/docs/benchmark-dashboard/lib/utils.ts +6 -0
  122. data/docs/benchmark-dashboard/next.config.mjs +14 -0
  123. data/docs/benchmark-dashboard/package-lock.json +5859 -0
  124. data/docs/benchmark-dashboard/package.json +72 -0
  125. data/docs/benchmark-dashboard/pnpm-lock.yaml +5 -0
  126. data/docs/benchmark-dashboard/postcss.config.mjs +8 -0
  127. data/docs/benchmark-dashboard/styles/globals.css +94 -0
  128. data/docs/benchmark-dashboard/tailwind.config.ts +96 -0
  129. data/docs/benchmark-dashboard/tsconfig.json +27 -0
  130. data/docs/benchmark-dashboard/vite.config.ts +24 -0
  131. data/docs/build.rb +52 -0
  132. data/docs/content/benchmarks/index.md +96 -0
  133. data/docs/content/features/_index.md +1 -1
  134. data/docs/content/getting_started/_index.md +76 -46
  135. data/docs/hugo.yaml +3 -0
  136. data/docs/static/results.json +1 -0
  137. data/docs/static/scripts/benchmark-dashboard.iife.js +211 -0
  138. data/docs/static/styles/benchmark-dashboard.css +1 -0
  139. data/examples/rails_with_static_assets/Gemfile.lock +1 -1
  140. data/examples/rails_with_static_assets/Itsi.rb +4 -1
  141. data/gems/scheduler/Cargo.lock +15 -15
  142. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  143. data/gems/server/Cargo.lock +75 -73
  144. data/gems/server/exe/itsi +6 -1
  145. data/gems/server/lib/itsi/http_request.rb +31 -39
  146. data/gems/server/lib/itsi/http_response.rb +5 -0
  147. data/gems/server/lib/itsi/rack_env_pool.rb +59 -0
  148. data/gems/server/lib/itsi/server/config/config_helpers.rb +1 -2
  149. data/gems/server/lib/itsi/server/config/dsl.rb +5 -4
  150. data/gems/server/lib/itsi/server/config/middleware/etag.md +3 -7
  151. data/gems/server/lib/itsi/server/config/middleware/etag.rb +2 -4
  152. data/gems/server/lib/itsi/server/config/middleware/proxy.rb +1 -1
  153. data/gems/server/lib/itsi/server/config/middleware/rackup_file.rb +2 -2
  154. data/gems/server/lib/itsi/server/config/options/auto_reload_config.rb +6 -2
  155. data/gems/server/lib/itsi/server/config/options/include.rb +5 -2
  156. data/gems/server/lib/itsi/server/config/options/listen_backlog.rb +1 -1
  157. data/gems/server/lib/itsi/server/config/options/pipeline_flush.md +16 -0
  158. data/gems/server/lib/itsi/server/config/options/pipeline_flush.rb +19 -0
  159. data/gems/server/lib/itsi/server/config/options/send_buffer_size.md +15 -0
  160. data/gems/server/lib/itsi/server/config/options/send_buffer_size.rb +19 -0
  161. data/gems/server/lib/itsi/server/config/options/writev.md +25 -0
  162. data/gems/server/lib/itsi/server/config/options/writev.rb +19 -0
  163. data/gems/server/lib/itsi/server/config.rb +43 -31
  164. data/gems/server/lib/itsi/server/default_config/Itsi.rb +1 -4
  165. data/gems/server/lib/itsi/server/grpc/grpc_call.rb +2 -0
  166. data/gems/server/lib/itsi/server/grpc/grpc_interface.rb +2 -2
  167. data/gems/server/lib/itsi/server/rack/handler/itsi.rb +3 -1
  168. data/gems/server/lib/itsi/server/rack_interface.rb +17 -12
  169. data/gems/server/lib/itsi/server/route_tester.rb +1 -1
  170. data/gems/server/lib/itsi/server/scheduler_interface.rb +2 -0
  171. data/gems/server/lib/itsi/server/version.rb +1 -1
  172. data/gems/server/lib/itsi/server.rb +1 -0
  173. data/gems/server/lib/ruby_lsp/itsi/addon.rb +12 -13
  174. data/gems/server/test/helpers/test_helper.rb +12 -13
  175. data/gems/server/test/middleware/etag.rb +3 -3
  176. data/gems/server/test/middleware/grpc/grpc.rb +13 -14
  177. data/gems/server/test/middleware/grpc/test_service_impl.rb +3 -3
  178. data/gems/server/test/middleware/proxy.rb +262 -268
  179. data/gems/server/test/options/ruby_thread_request_backlog_size.rb +2 -3
  180. data/lib/itsi/version.rb +1 -1
  181. metadata +99 -6
  182. data/tasks.txt +0 -27
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.15
4
+ version: 0.2.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters
@@ -15,28 +15,28 @@ dependencies:
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.2.15
18
+ version: 0.2.17
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
- version: 0.2.15
25
+ version: 0.2.17
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: itsi-server
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.2.15
32
+ version: 0.2.17
33
33
  type: :runtime
34
34
  prerelease: false
35
35
  version_requirements: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: 0.2.15
39
+ version: 0.2.17
40
40
  description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
41
41
  email:
42
42
  - wc@pico.net.nz
@@ -135,6 +135,7 @@ files:
135
135
  - crates/itsi_server/src/server/binds/tls.rs
136
136
  - crates/itsi_server/src/server/binds/tls/locked_dir_cache.rs
137
137
  - crates/itsi_server/src/server/byte_frame.rs
138
+ - crates/itsi_server/src/server/frame_stream.rs
138
139
  - crates/itsi_server/src/server/http_message_types.rs
139
140
  - crates/itsi_server/src/server/io_stream.rs
140
141
  - crates/itsi_server/src/server/lifecycle_event.rs
@@ -171,6 +172,7 @@ files:
171
172
  - crates/itsi_server/src/server/process_worker.rs
172
173
  - crates/itsi_server/src/server/redirect_type.rs
173
174
  - crates/itsi_server/src/server/request_job.rs
175
+ - crates/itsi_server/src/server/serve_strategy/acceptor.rs
174
176
  - crates/itsi_server/src/server/serve_strategy/cluster_mode.rs
175
177
  - crates/itsi_server/src/server/serve_strategy/mod.rs
176
178
  - crates/itsi_server/src/server/serve_strategy/single_mode.rs
@@ -190,8 +192,90 @@ files:
190
192
  - docker/Dockerfile
191
193
  - docs/.gitignore
192
194
  - docs/.gitpod.yml
195
+ - docs/benchmark-dashboard/.gitignore
196
+ - docs/benchmark-dashboard/app/api/benchmarks/route.ts
197
+ - docs/benchmark-dashboard/app/globals.css
198
+ - docs/benchmark-dashboard/app/layout.tsx
199
+ - docs/benchmark-dashboard/app/page.tsx
200
+ - docs/benchmark-dashboard/components.json
201
+ - docs/benchmark-dashboard/components/benchmark-dashboard.tsx
202
+ - docs/benchmark-dashboard/components/theme-provider.tsx
203
+ - docs/benchmark-dashboard/components/ui/accordion.tsx
204
+ - docs/benchmark-dashboard/components/ui/alert-dialog.tsx
205
+ - docs/benchmark-dashboard/components/ui/alert.tsx
206
+ - docs/benchmark-dashboard/components/ui/aspect-ratio.tsx
207
+ - docs/benchmark-dashboard/components/ui/avatar.tsx
208
+ - docs/benchmark-dashboard/components/ui/badge.tsx
209
+ - docs/benchmark-dashboard/components/ui/breadcrumb.tsx
210
+ - docs/benchmark-dashboard/components/ui/button.tsx
211
+ - docs/benchmark-dashboard/components/ui/calendar.tsx
212
+ - docs/benchmark-dashboard/components/ui/card.tsx
213
+ - docs/benchmark-dashboard/components/ui/carousel.tsx
214
+ - docs/benchmark-dashboard/components/ui/chart.tsx
215
+ - docs/benchmark-dashboard/components/ui/checkbox.tsx
216
+ - docs/benchmark-dashboard/components/ui/collapsible.tsx
217
+ - docs/benchmark-dashboard/components/ui/command.tsx
218
+ - docs/benchmark-dashboard/components/ui/context-menu.tsx
219
+ - docs/benchmark-dashboard/components/ui/dialog.tsx
220
+ - docs/benchmark-dashboard/components/ui/drawer.tsx
221
+ - docs/benchmark-dashboard/components/ui/dropdown-menu.tsx
222
+ - docs/benchmark-dashboard/components/ui/form.tsx
223
+ - docs/benchmark-dashboard/components/ui/hover-card.tsx
224
+ - docs/benchmark-dashboard/components/ui/input-otp.tsx
225
+ - docs/benchmark-dashboard/components/ui/input.tsx
226
+ - docs/benchmark-dashboard/components/ui/label.tsx
227
+ - docs/benchmark-dashboard/components/ui/loading-spinner.tsx
228
+ - docs/benchmark-dashboard/components/ui/menubar.tsx
229
+ - docs/benchmark-dashboard/components/ui/navigation-menu.tsx
230
+ - docs/benchmark-dashboard/components/ui/pagination.tsx
231
+ - docs/benchmark-dashboard/components/ui/popover.tsx
232
+ - docs/benchmark-dashboard/components/ui/progress.tsx
233
+ - docs/benchmark-dashboard/components/ui/radio-group.tsx
234
+ - docs/benchmark-dashboard/components/ui/resizable.tsx
235
+ - docs/benchmark-dashboard/components/ui/scroll-area.tsx
236
+ - docs/benchmark-dashboard/components/ui/select.tsx
237
+ - docs/benchmark-dashboard/components/ui/separator.tsx
238
+ - docs/benchmark-dashboard/components/ui/sheet.tsx
239
+ - docs/benchmark-dashboard/components/ui/sidebar.tsx
240
+ - docs/benchmark-dashboard/components/ui/skeleton.tsx
241
+ - docs/benchmark-dashboard/components/ui/slider.tsx
242
+ - docs/benchmark-dashboard/components/ui/sonner.tsx
243
+ - docs/benchmark-dashboard/components/ui/switch.tsx
244
+ - docs/benchmark-dashboard/components/ui/table.tsx
245
+ - docs/benchmark-dashboard/components/ui/tabs.tsx
246
+ - docs/benchmark-dashboard/components/ui/textarea.tsx
247
+ - docs/benchmark-dashboard/components/ui/toast.tsx
248
+ - docs/benchmark-dashboard/components/ui/toaster.tsx
249
+ - docs/benchmark-dashboard/components/ui/toggle-group.tsx
250
+ - docs/benchmark-dashboard/components/ui/toggle.tsx
251
+ - docs/benchmark-dashboard/components/ui/tooltip.tsx
252
+ - docs/benchmark-dashboard/components/ui/use-mobile.tsx
253
+ - docs/benchmark-dashboard/components/ui/use-toast.ts
254
+ - docs/benchmark-dashboard/dist/benchmark-dashboard.css
255
+ - docs/benchmark-dashboard/dist/benchmark-dashboard.iife.js
256
+ - docs/benchmark-dashboard/dist/placeholder-logo.png
257
+ - docs/benchmark-dashboard/dist/placeholder-logo.svg
258
+ - docs/benchmark-dashboard/dist/placeholder-user.jpg
259
+ - docs/benchmark-dashboard/dist/placeholder.jpg
260
+ - docs/benchmark-dashboard/dist/placeholder.svg
261
+ - docs/benchmark-dashboard/embed.tsx
262
+ - docs/benchmark-dashboard/hooks/use-mobile.tsx
263
+ - docs/benchmark-dashboard/hooks/use-toast.ts
264
+ - docs/benchmark-dashboard/lib/benchmark-utils.ts
265
+ - docs/benchmark-dashboard/lib/utils.ts
266
+ - docs/benchmark-dashboard/next.config.mjs
267
+ - docs/benchmark-dashboard/package-lock.json
268
+ - docs/benchmark-dashboard/package.json
269
+ - docs/benchmark-dashboard/pnpm-lock.yaml
270
+ - docs/benchmark-dashboard/postcss.config.mjs
271
+ - docs/benchmark-dashboard/styles/globals.css
272
+ - docs/benchmark-dashboard/tailwind.config.ts
273
+ - docs/benchmark-dashboard/tsconfig.json
274
+ - docs/benchmark-dashboard/vite.config.ts
275
+ - docs/build.rb
193
276
  - docs/content/_index.md
194
277
  - docs/content/acknowledgements/_index.md
278
+ - docs/content/benchmarks/index.md
195
279
  - docs/content/configuration/_index.md
196
280
  - docs/content/contact/_index.md
197
281
  - docs/content/directory_listing.jpg
@@ -240,7 +324,10 @@ files:
240
324
  - docs/static/favicon-dark.svg
241
325
  - docs/static/favicon.ico
242
326
  - docs/static/favicon.svg
327
+ - docs/static/results.json
328
+ - docs/static/scripts/benchmark-dashboard.iife.js
243
329
  - docs/static/site.webmanifest
330
+ - docs/static/styles/benchmark-dashboard.css
244
331
  - examples/api_with_schema_and_controllers/Itsi.rb
245
332
  - examples/api_with_schema_and_controllers/README.md
246
333
  - examples/api_with_schema_and_controllers/controllers.rb
@@ -707,6 +794,7 @@ files:
707
794
  - gems/server/lib/itsi/http_request/response_status_shortcodes.rb
708
795
  - gems/server/lib/itsi/http_response.rb
709
796
  - gems/server/lib/itsi/passfile.rb
797
+ - gems/server/lib/itsi/rack_env_pool.rb
710
798
  - gems/server/lib/itsi/server.rb
711
799
  - gems/server/lib/itsi/server/config.rb
712
800
  - gems/server/lib/itsi/server/config/config_helpers.rb
@@ -933,6 +1021,8 @@ files:
933
1021
  - gems/server/lib/itsi/server/config/options/oob_gc_responses_threshold.rb
934
1022
  - gems/server/lib/itsi/server/config/options/pin_worker_cores.md
935
1023
  - gems/server/lib/itsi/server/config/options/pin_worker_cores.rb
1024
+ - gems/server/lib/itsi/server/config/options/pipeline_flush.md
1025
+ - gems/server/lib/itsi/server/config/options/pipeline_flush.rb
936
1026
  - gems/server/lib/itsi/server/config/options/preload.md
937
1027
  - gems/server/lib/itsi/server/config/options/preload.rb
938
1028
  - gems/server/lib/itsi/server/config/options/recv_buffer_size.md
@@ -949,6 +1039,8 @@ files:
949
1039
  - gems/server/lib/itsi/server/config/options/ruby_thread_request_backlog_size.rb
950
1040
  - gems/server/lib/itsi/server/config/options/scheduler_threads.md
951
1041
  - gems/server/lib/itsi/server/config/options/scheduler_threads.rb
1042
+ - gems/server/lib/itsi/server/config/options/send_buffer_size.md
1043
+ - gems/server/lib/itsi/server/config/options/send_buffer_size.rb
952
1044
  - gems/server/lib/itsi/server/config/options/shutdown_timeout.md
953
1045
  - gems/server/lib/itsi/server/config/options/shutdown_timeout.rb
954
1046
  - gems/server/lib/itsi/server/config/options/stream_body.md
@@ -961,6 +1053,8 @@ files:
961
1053
  - gems/server/lib/itsi/server/config/options/worker_memory_limit.rb
962
1054
  - gems/server/lib/itsi/server/config/options/workers.md
963
1055
  - gems/server/lib/itsi/server/config/options/workers.rb
1056
+ - gems/server/lib/itsi/server/config/options/writev.md
1057
+ - gems/server/lib/itsi/server/config/options/writev.rb
964
1058
  - gems/server/lib/itsi/server/config/typed_struct.rb
965
1059
  - gems/server/lib/itsi/server/default_app/default_app.rb
966
1060
  - gems/server/lib/itsi/server/default_app/index.html
@@ -1024,7 +1118,6 @@ files:
1024
1118
  - itsi-server-100.png
1025
1119
  - lib/itsi.rb
1026
1120
  - lib/itsi/version.rb
1027
- - tasks.txt
1028
1121
  homepage: https://itsi.fyi
1029
1122
  licenses:
1030
1123
  - LGPL-3.0
data/tasks.txt DELETED
@@ -1,27 +0,0 @@
1
- - Add tests for script name and request backlog size, Add tests for scheduler.
2
- - Respond on Reddit
3
- - Min rust version
4
-
5
- Tasks:
6
- - Add way to opt non Itsi.rb files into LSP
7
- - Better parallelization a lá Iodine
8
- - Static ruby build
9
- - OTel
10
- - Image resizer
11
- - First class Rackless Websockets
12
- - Print out warning if we can detect that a location block will never be hit.
13
- - Built in Obs Dashboard + Stats
14
- - WASM pluggable middleware
15
- - Support UDP Proxy
16
- - Support Unix Socket Proxy
17
- - gRPC proxying
18
- - HTTP-01 Autocert
19
- - H3
20
- - OpenAPI gen
21
- - Finish Single acceptor mode (Optional)
22
- - Introduce Option
23
- - Finish Unix implementation
24
- - Very single worker shutdown (impact)
25
- - Clean shutdown and restart while in single acceptor mode
26
- - Fix Hang
27
- - Introduce Socket Options