itsi 0.2.21 → 0.2.22

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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/Cargo.lock +24 -10
  3. data/Cargo.toml +4 -0
  4. data/Rakefile +4 -0
  5. data/crates/itsi_scheduler/Cargo.toml +1 -1
  6. data/crates/itsi_server/Cargo.toml +1 -1
  7. data/crates/itsi_server/src/server/signal.rs +7 -5
  8. data/gems/scheduler/Cargo.lock +516 -3984
  9. data/gems/scheduler/Cargo.toml +4 -0
  10. data/gems/scheduler/Gemfile +11 -0
  11. data/gems/scheduler/Rakefile +21 -6
  12. data/gems/scheduler/itsi-scheduler.gemspec +5 -1
  13. data/gems/scheduler/lib/itsi/scheduler/native_extension.rb +34 -0
  14. data/gems/scheduler/lib/itsi/scheduler/version.rb +1 -1
  15. data/gems/scheduler/lib/itsi/scheduler.rb +1 -1
  16. data/gems/scheduler/test/test_block_unblock.rb +1 -1
  17. data/gems/scheduler/vendor/rb-sys-build/.cargo-ok +1 -0
  18. data/gems/scheduler/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  19. data/gems/scheduler/vendor/rb-sys-build/Cargo.lock +294 -0
  20. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml +71 -0
  21. data/gems/scheduler/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  22. data/gems/scheduler/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  23. data/gems/scheduler/vendor/rb-sys-build/LICENSE-MIT +21 -0
  24. data/gems/scheduler/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  25. data/gems/scheduler/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  26. data/gems/scheduler/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  27. data/gems/scheduler/vendor/rb-sys-build/src/bindings.rs +280 -0
  28. data/gems/scheduler/vendor/rb-sys-build/src/cc.rs +421 -0
  29. data/gems/scheduler/vendor/rb-sys-build/src/lib.rs +12 -0
  30. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  31. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  32. data/gems/scheduler/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  33. data/gems/scheduler/vendor/rb-sys-build/src/rb_config.rs +906 -0
  34. data/gems/scheduler/vendor/rb-sys-build/src/utils.rs +53 -0
  35. data/gems/server/Cargo.lock +24 -37
  36. data/gems/server/Cargo.toml +4 -0
  37. data/gems/server/Gemfile +23 -0
  38. data/gems/server/Rakefile +39 -7
  39. data/gems/server/itsi-server.gemspec +5 -1
  40. data/gems/server/lib/itsi/server/native_extension.rb +34 -0
  41. data/gems/server/lib/itsi/server/version.rb +1 -1
  42. data/gems/server/lib/itsi/server.rb +10 -2
  43. data/gems/server/test/rack/test_rack_server.rb +14 -2
  44. data/gems/server/vendor/rb-sys-build/.cargo-ok +1 -0
  45. data/gems/server/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  46. data/gems/server/vendor/rb-sys-build/Cargo.lock +294 -0
  47. data/gems/server/vendor/rb-sys-build/Cargo.toml +71 -0
  48. data/gems/server/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  49. data/gems/server/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  50. data/gems/server/vendor/rb-sys-build/LICENSE-MIT +21 -0
  51. data/gems/server/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  52. data/gems/server/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  53. data/gems/server/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  54. data/gems/server/vendor/rb-sys-build/src/bindings.rs +280 -0
  55. data/gems/server/vendor/rb-sys-build/src/cc.rs +421 -0
  56. data/gems/server/vendor/rb-sys-build/src/lib.rs +12 -0
  57. data/gems/server/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  58. data/gems/server/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  59. data/gems/server/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  60. data/gems/server/vendor/rb-sys-build/src/rb_config.rs +906 -0
  61. data/gems/server/vendor/rb-sys-build/src/utils.rs +53 -0
  62. data/lib/itsi/version.rb +1 -1
  63. data/script/ci/resolve_version.rb +32 -0
  64. data/script/ci/set_version.rb +53 -0
  65. data/script/ci/setup_cibuildgem_rake_compiler.sh +63 -0
  66. data/script/ci/smoke_scheduler.rb +24 -0
  67. data/script/ci/smoke_server.rb +38 -0
  68. data/vendor/rb-sys-build/.cargo-ok +1 -0
  69. data/vendor/rb-sys-build/.cargo_vcs_info.json +6 -0
  70. data/vendor/rb-sys-build/Cargo.lock +294 -0
  71. data/vendor/rb-sys-build/Cargo.toml +71 -0
  72. data/vendor/rb-sys-build/Cargo.toml.orig +32 -0
  73. data/vendor/rb-sys-build/LICENSE-APACHE +190 -0
  74. data/vendor/rb-sys-build/LICENSE-MIT +21 -0
  75. data/vendor/rb-sys-build/src/bindings/sanitizer.rs +185 -0
  76. data/vendor/rb-sys-build/src/bindings/stable_api.rs +247 -0
  77. data/vendor/rb-sys-build/src/bindings/wrapper.h +71 -0
  78. data/vendor/rb-sys-build/src/bindings.rs +280 -0
  79. data/vendor/rb-sys-build/src/cc.rs +421 -0
  80. data/vendor/rb-sys-build/src/lib.rs +12 -0
  81. data/vendor/rb-sys-build/src/rb_config/flags.rs +101 -0
  82. data/vendor/rb-sys-build/src/rb_config/library.rs +132 -0
  83. data/vendor/rb-sys-build/src/rb_config/search_path.rs +57 -0
  84. data/vendor/rb-sys-build/src/rb_config.rs +906 -0
  85. data/vendor/rb-sys-build/src/utils.rs +53 -0
  86. metadata +68 -5
@@ -0,0 +1,53 @@
1
+ use crate::debug_log;
2
+
3
+ /// Check if current platform is mswin.
4
+ pub fn is_msvc() -> bool {
5
+ if let Ok(target) = std::env::var("TARGET") {
6
+ target.contains("msvc")
7
+ } else {
8
+ false
9
+ }
10
+ }
11
+
12
+ /// Check if current platform is mswin or mingw.
13
+ pub fn is_mswin_or_mingw() -> bool {
14
+ if let Ok(target) = std::env::var("TARGET") {
15
+ target.contains("msvc") || target.contains("pc-windows-gnu")
16
+ } else {
17
+ false
18
+ }
19
+ }
20
+
21
+ /// Splits shell words.
22
+ pub fn shellsplit<S: AsRef<str>>(s: S) -> Vec<String> {
23
+ let s = s.as_ref();
24
+ match shell_words::split(s) {
25
+ Ok(v) => v,
26
+ Err(e) => {
27
+ debug_log!("WARN: shellsplit failed: {}", e);
28
+ s.split_whitespace().map(Into::into).collect()
29
+ }
30
+ }
31
+ }
32
+
33
+ #[macro_export]
34
+ macro_rules! memoize {
35
+ ($type:ty: $val:expr) => {{
36
+ static INIT: std::sync::Once = std::sync::Once::new();
37
+ static mut VALUE: Option<$type> = None;
38
+ #[allow(static_mut_refs)]
39
+ unsafe {
40
+ INIT.call_once(|| {
41
+ VALUE = Some($val);
42
+ });
43
+ VALUE.as_ref().unwrap()
44
+ }
45
+ }};
46
+ }
47
+
48
+ #[macro_export]
49
+ macro_rules! debug_log {
50
+ ($($arg:tt)*) => {
51
+ eprintln!($($arg)*);
52
+ };
53
+ }
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.21
4
+ version: 0.2.22
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.21
18
+ version: 0.2.22
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.21
25
+ version: 0.2.22
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.21
32
+ version: 0.2.22
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.21
39
+ version: 0.2.22
40
40
  description: Wrapper Gem for both the Itsi server and the Itsi Fiber scheduler
41
41
  email:
42
42
  - wc@pico.net.nz
@@ -767,6 +767,7 @@ files:
767
767
  - gems/scheduler/.rubocop.yml
768
768
  - gems/scheduler/Cargo.lock
769
769
  - gems/scheduler/Cargo.toml
770
+ - gems/scheduler/Gemfile
770
771
  - gems/scheduler/Rakefile
771
772
  - gems/scheduler/bin/console
772
773
  - gems/scheduler/bin/setup
@@ -774,6 +775,7 @@ files:
774
775
  - gems/scheduler/itsi-scheduler.gemspec
775
776
  - gems/scheduler/lib/itsi/schedule_refinement.rb
776
777
  - gems/scheduler/lib/itsi/scheduler.rb
778
+ - gems/scheduler/lib/itsi/scheduler/native_extension.rb
777
779
  - gems/scheduler/lib/itsi/scheduler/version.rb
778
780
  - gems/scheduler/test/helpers/test_helper.rb
779
781
  - gems/scheduler/test/test_active_record.rb
@@ -785,10 +787,29 @@ files:
785
787
  - gems/scheduler/test/test_nested_fibers.rb
786
788
  - gems/scheduler/test/test_network_io.rb
787
789
  - gems/scheduler/test/test_process_wait.rb
790
+ - gems/scheduler/vendor/rb-sys-build/.cargo-ok
791
+ - gems/scheduler/vendor/rb-sys-build/.cargo_vcs_info.json
792
+ - gems/scheduler/vendor/rb-sys-build/Cargo.lock
793
+ - gems/scheduler/vendor/rb-sys-build/Cargo.toml
794
+ - gems/scheduler/vendor/rb-sys-build/Cargo.toml.orig
795
+ - gems/scheduler/vendor/rb-sys-build/LICENSE-APACHE
796
+ - gems/scheduler/vendor/rb-sys-build/LICENSE-MIT
797
+ - gems/scheduler/vendor/rb-sys-build/src/bindings.rs
798
+ - gems/scheduler/vendor/rb-sys-build/src/bindings/sanitizer.rs
799
+ - gems/scheduler/vendor/rb-sys-build/src/bindings/stable_api.rs
800
+ - gems/scheduler/vendor/rb-sys-build/src/bindings/wrapper.h
801
+ - gems/scheduler/vendor/rb-sys-build/src/cc.rs
802
+ - gems/scheduler/vendor/rb-sys-build/src/lib.rs
803
+ - gems/scheduler/vendor/rb-sys-build/src/rb_config.rs
804
+ - gems/scheduler/vendor/rb-sys-build/src/rb_config/flags.rs
805
+ - gems/scheduler/vendor/rb-sys-build/src/rb_config/library.rs
806
+ - gems/scheduler/vendor/rb-sys-build/src/rb_config/search_path.rs
807
+ - gems/scheduler/vendor/rb-sys-build/src/utils.rs
788
808
  - gems/server/.gitignore
789
809
  - gems/server/.rubocop.yml
790
810
  - gems/server/Cargo.lock
791
811
  - gems/server/Cargo.toml
812
+ - gems/server/Gemfile
792
813
  - gems/server/Rakefile
793
814
  - gems/server/bin/console
794
815
  - gems/server/bin/setup
@@ -1067,6 +1088,7 @@ files:
1067
1088
  - gems/server/lib/itsi/server/grpc/grpc_interface.rb
1068
1089
  - gems/server/lib/itsi/server/grpc/reflection/v1/reflection_pb.rb
1069
1090
  - gems/server/lib/itsi/server/grpc/reflection/v1/reflection_services_pb.rb
1091
+ - gems/server/lib/itsi/server/native_extension.rb
1070
1092
  - gems/server/lib/itsi/server/rack/handler/itsi.rb
1071
1093
  - gems/server/lib/itsi/server/rack_interface.rb
1072
1094
  - gems/server/lib/itsi/server/route_tester.rb
@@ -1118,11 +1140,52 @@ files:
1118
1140
  - gems/server/test/options/test_threads.rb
1119
1141
  - gems/server/test/options/test_workers.rb
1120
1142
  - gems/server/test/rack/test_rack_server.rb
1143
+ - gems/server/vendor/rb-sys-build/.cargo-ok
1144
+ - gems/server/vendor/rb-sys-build/.cargo_vcs_info.json
1145
+ - gems/server/vendor/rb-sys-build/Cargo.lock
1146
+ - gems/server/vendor/rb-sys-build/Cargo.toml
1147
+ - gems/server/vendor/rb-sys-build/Cargo.toml.orig
1148
+ - gems/server/vendor/rb-sys-build/LICENSE-APACHE
1149
+ - gems/server/vendor/rb-sys-build/LICENSE-MIT
1150
+ - gems/server/vendor/rb-sys-build/src/bindings.rs
1151
+ - gems/server/vendor/rb-sys-build/src/bindings/sanitizer.rs
1152
+ - gems/server/vendor/rb-sys-build/src/bindings/stable_api.rs
1153
+ - gems/server/vendor/rb-sys-build/src/bindings/wrapper.h
1154
+ - gems/server/vendor/rb-sys-build/src/cc.rs
1155
+ - gems/server/vendor/rb-sys-build/src/lib.rs
1156
+ - gems/server/vendor/rb-sys-build/src/rb_config.rs
1157
+ - gems/server/vendor/rb-sys-build/src/rb_config/flags.rs
1158
+ - gems/server/vendor/rb-sys-build/src/rb_config/library.rs
1159
+ - gems/server/vendor/rb-sys-build/src/rb_config/search_path.rs
1160
+ - gems/server/vendor/rb-sys-build/src/utils.rs
1121
1161
  - itsi-scheduler-100.png
1122
1162
  - itsi-server-100.png
1123
1163
  - lib/itsi.rb
1124
1164
  - lib/itsi/version.rb
1125
1165
  - mise.toml
1166
+ - script/ci/resolve_version.rb
1167
+ - script/ci/set_version.rb
1168
+ - script/ci/setup_cibuildgem_rake_compiler.sh
1169
+ - script/ci/smoke_scheduler.rb
1170
+ - script/ci/smoke_server.rb
1171
+ - vendor/rb-sys-build/.cargo-ok
1172
+ - vendor/rb-sys-build/.cargo_vcs_info.json
1173
+ - vendor/rb-sys-build/Cargo.lock
1174
+ - vendor/rb-sys-build/Cargo.toml
1175
+ - vendor/rb-sys-build/Cargo.toml.orig
1176
+ - vendor/rb-sys-build/LICENSE-APACHE
1177
+ - vendor/rb-sys-build/LICENSE-MIT
1178
+ - vendor/rb-sys-build/src/bindings.rs
1179
+ - vendor/rb-sys-build/src/bindings/sanitizer.rs
1180
+ - vendor/rb-sys-build/src/bindings/stable_api.rs
1181
+ - vendor/rb-sys-build/src/bindings/wrapper.h
1182
+ - vendor/rb-sys-build/src/cc.rs
1183
+ - vendor/rb-sys-build/src/lib.rs
1184
+ - vendor/rb-sys-build/src/rb_config.rs
1185
+ - vendor/rb-sys-build/src/rb_config/flags.rs
1186
+ - vendor/rb-sys-build/src/rb_config/library.rs
1187
+ - vendor/rb-sys-build/src/rb_config/search_path.rs
1188
+ - vendor/rb-sys-build/src/utils.rs
1126
1189
  homepage: https://itsi.fyi
1127
1190
  licenses:
1128
1191
  - LGPL-3.0