itsi 0.1.8 → 0.1.11

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 (80) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +11 -2
  3. data/Rakefile +6 -2
  4. data/crates/itsi_rb_helpers/src/lib.rs +27 -4
  5. data/crates/itsi_server/Cargo.toml +4 -1
  6. data/crates/itsi_server/src/lib.rs +74 -1
  7. data/crates/itsi_server/src/request/itsi_request.rs +32 -11
  8. data/crates/itsi_server/src/response/itsi_response.rs +14 -4
  9. data/crates/itsi_server/src/server/bind.rs +16 -12
  10. data/crates/itsi_server/src/server/itsi_server.rs +146 -95
  11. data/crates/itsi_server/src/server/listener.rs +10 -10
  12. data/crates/itsi_server/src/server/process_worker.rs +10 -3
  13. data/crates/itsi_server/src/server/serve_strategy/cluster_mode.rs +15 -9
  14. data/crates/itsi_server/src/server/serve_strategy/single_mode.rs +134 -115
  15. data/crates/itsi_server/src/server/signal.rs +4 -0
  16. data/crates/itsi_server/src/server/thread_worker.rs +55 -24
  17. data/crates/itsi_server/src/server/tls.rs +11 -8
  18. data/crates/itsi_tracing/src/lib.rs +18 -1
  19. data/gems/scheduler/Cargo.lock +12 -12
  20. data/gems/scheduler/ext/itsi_rb_helpers/src/lib.rs +27 -4
  21. data/gems/scheduler/ext/itsi_server/Cargo.toml +4 -1
  22. data/gems/scheduler/ext/itsi_server/src/lib.rs +74 -1
  23. data/gems/scheduler/ext/itsi_server/src/request/itsi_request.rs +32 -11
  24. data/gems/scheduler/ext/itsi_server/src/response/itsi_response.rs +14 -4
  25. data/gems/scheduler/ext/itsi_server/src/server/bind.rs +16 -12
  26. data/gems/scheduler/ext/itsi_server/src/server/itsi_server.rs +146 -95
  27. data/gems/scheduler/ext/itsi_server/src/server/listener.rs +10 -10
  28. data/gems/scheduler/ext/itsi_server/src/server/process_worker.rs +10 -3
  29. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/cluster_mode.rs +15 -9
  30. data/gems/scheduler/ext/itsi_server/src/server/serve_strategy/single_mode.rs +134 -115
  31. data/gems/scheduler/ext/itsi_server/src/server/signal.rs +4 -0
  32. data/gems/scheduler/ext/itsi_server/src/server/thread_worker.rs +55 -24
  33. data/gems/scheduler/ext/itsi_server/src/server/tls.rs +11 -8
  34. data/gems/scheduler/ext/itsi_tracing/src/lib.rs +18 -1
  35. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  36. data/gems/scheduler/test/test_address_resolve.rb +0 -1
  37. data/gems/scheduler/test/test_file_io.rb +0 -1
  38. data/gems/scheduler/test/test_kernel_sleep.rb +3 -4
  39. data/gems/server/Cargo.lock +11 -2
  40. data/gems/server/Rakefile +8 -1
  41. data/gems/server/exe/itsi +53 -23
  42. data/gems/server/ext/itsi_rb_helpers/src/lib.rs +27 -4
  43. data/gems/server/ext/itsi_server/Cargo.toml +4 -1
  44. data/gems/server/ext/itsi_server/src/lib.rs +74 -1
  45. data/gems/server/ext/itsi_server/src/request/itsi_request.rs +32 -11
  46. data/gems/server/ext/itsi_server/src/response/itsi_response.rs +14 -4
  47. data/gems/server/ext/itsi_server/src/server/bind.rs +16 -12
  48. data/gems/server/ext/itsi_server/src/server/itsi_server.rs +146 -95
  49. data/gems/server/ext/itsi_server/src/server/listener.rs +10 -10
  50. data/gems/server/ext/itsi_server/src/server/process_worker.rs +10 -3
  51. data/gems/server/ext/itsi_server/src/server/serve_strategy/cluster_mode.rs +15 -9
  52. data/gems/server/ext/itsi_server/src/server/serve_strategy/single_mode.rs +134 -115
  53. data/gems/server/ext/itsi_server/src/server/signal.rs +4 -0
  54. data/gems/server/ext/itsi_server/src/server/thread_worker.rs +55 -24
  55. data/gems/server/ext/itsi_server/src/server/tls.rs +11 -8
  56. data/gems/server/ext/itsi_tracing/src/lib.rs +18 -1
  57. data/gems/server/lib/itsi/request.rb +29 -21
  58. data/gems/server/lib/itsi/server/Itsi.rb +127 -0
  59. data/gems/server/lib/itsi/server/config.rb +36 -0
  60. data/gems/server/lib/itsi/server/options_dsl.rb +401 -0
  61. data/gems/server/lib/itsi/server/rack/handler/itsi.rb +18 -7
  62. data/gems/server/lib/itsi/server/rack_interface.rb +75 -0
  63. data/gems/server/lib/itsi/server/scheduler_interface.rb +21 -0
  64. data/gems/server/lib/itsi/server/signal_trap.rb +23 -0
  65. data/gems/server/lib/itsi/server/version.rb +1 -1
  66. data/gems/server/lib/itsi/server.rb +71 -101
  67. data/gems/server/test/helpers/test_helper.rb +30 -0
  68. data/gems/server/test/test_itsi_server.rb +294 -3
  69. data/lib/itsi/version.rb +1 -1
  70. data/location_dsl.rb +381 -0
  71. data/sandbox/deploy/main.tf +1 -0
  72. data/sandbox/itsi_itsi_file/Itsi.rb +119 -0
  73. data/sandbox/itsi_sandbox_async/Gemfile +1 -1
  74. data/sandbox/itsi_sandbox_rack/Gemfile.lock +2 -2
  75. data/sandbox/itsi_sandbox_rails/Gemfile.lock +2 -2
  76. data/tasks.txt +25 -8
  77. metadata +21 -14
  78. data/gems/server/lib/itsi/signals.rb +0 -23
  79. data/gems/server/test/test_helper.rb +0 -7
  80. /data/gems/server/lib/itsi/{index.html.erb → index.html} +0 -0
metadata CHANGED
@@ -1,43 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: itsi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Wouter Coppieters
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-15 00:00:00.000000000 Z
10
+ date: 2025-03-17 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
- name: itsi-server
13
+ name: itsi-scheduler
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - "~>"
17
17
  - !ruby/object:Gem::Version
18
- version: 0.1.8
18
+ version: 0.1.11
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.1.8
25
+ version: 0.1.11
26
26
  - !ruby/object:Gem::Dependency
27
- name: itsi-scheduler
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.1.8
32
+ version: 0.1.11
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.1.8
40
- description: Wrapper Gem for both the Itsi server and it's Fiber scheduler
39
+ version: 0.1.11
40
+ description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
41
41
  email:
42
42
  - wc@pico.net.nz
43
43
  executables: []
@@ -227,25 +227,32 @@ files:
227
227
  - gems/server/ext/itsi_tracing/Cargo.toml
228
228
  - gems/server/ext/itsi_tracing/src/lib.rs
229
229
  - gems/server/itsi-server.gemspec
230
- - gems/server/lib/itsi/index.html.erb
230
+ - gems/server/lib/itsi/index.html
231
231
  - gems/server/lib/itsi/request.rb
232
232
  - gems/server/lib/itsi/server.rb
233
+ - gems/server/lib/itsi/server/Itsi.rb
234
+ - gems/server/lib/itsi/server/config.rb
235
+ - gems/server/lib/itsi/server/options_dsl.rb
233
236
  - gems/server/lib/itsi/server/rack/handler/itsi.rb
237
+ - gems/server/lib/itsi/server/rack_interface.rb
238
+ - gems/server/lib/itsi/server/scheduler_interface.rb
234
239
  - gems/server/lib/itsi/server/scheduler_mode.rb
240
+ - gems/server/lib/itsi/server/signal_trap.rb
235
241
  - gems/server/lib/itsi/server/version.rb
236
- - gems/server/lib/itsi/signals.rb
237
242
  - gems/server/lib/itsi/stream_io.rb
238
243
  - gems/server/sig/itsi_server.rbs
239
- - gems/server/test/test_helper.rb
244
+ - gems/server/test/helpers/test_helper.rb
240
245
  - gems/server/test/test_itsi_server.rb
241
246
  - lib/itsi.rb
242
247
  - lib/itsi/version.rb
248
+ - location_dsl.rb
243
249
  - sandbox/deploy/main.tf
244
250
  - sandbox/deploy/outputs.tf
245
251
  - sandbox/deploy/vars.tf
246
252
  - sandbox/falcon_benchmark/Gemfile
247
253
  - sandbox/falcon_benchmark/Gemfile.lock
248
254
  - sandbox/falcon_benchmark/config.ru
255
+ - sandbox/itsi_itsi_file/Itsi.rb
249
256
  - sandbox/itsi_sandbox_async/Gemfile
250
257
  - sandbox/itsi_sandbox_async/Gemfile.lock
251
258
  - sandbox/itsi_sandbox_async/config.ru
@@ -436,7 +443,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
436
443
  requirements:
437
444
  - - ">="
438
445
  - !ruby/object:Gem::Version
439
- version: 3.0.7
446
+ version: '2.7'
440
447
  required_rubygems_version: !ruby/object:Gem::Requirement
441
448
  requirements:
442
449
  - - ">="
@@ -445,5 +452,5 @@ required_rubygems_version: !ruby/object:Gem::Requirement
445
452
  requirements: []
446
453
  rubygems_version: 3.6.2
447
454
  specification_version: 4
448
- summary: Wrapper Gem for both the Itsi server and it's Fiber scheduler
455
+ summary: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
449
456
  test_files: []
@@ -1,23 +0,0 @@
1
- module Itsi
2
- module Signals
3
- DEFAULT_SIGNALS = ["DEFAULT", ""].freeze
4
- module SignalTrap
5
- def self.trap(signal, *args, &block)
6
- if DEFAULT_SIGNALS.include?(command.to_s) && block.nil?
7
- Itsi::Server.reset_signal_handlers
8
- nil
9
- else
10
- super(signal, *args, &block)
11
- end
12
- end
13
- end
14
- end
15
- end
16
-
17
- [Kernel, Signal].each do |receiver|
18
- receiver.singleton_class.prepend(Itsi::Signals::SignalTrap)
19
- end
20
-
21
- [Object].each do |receiver|
22
- receiver.include(Itsi::Signals::SignalTrap)
23
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.unshift File.expand_path("../lib", __dir__)
4
- $LOAD_PATH.unshift __dir__
5
- require "itsi/server"
6
-
7
- require "minitest/autorun"