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,57 @@
1
+ /// Represents the kind of search path.
2
+ #[derive(Debug, PartialEq, Eq)]
3
+ pub enum SearchPathKind {
4
+ Native,
5
+ Framework,
6
+ }
7
+
8
+ /// Represents a library taht can be linked with Cargo.
9
+ #[derive(Debug, PartialEq, Eq)]
10
+ pub struct SearchPath {
11
+ pub kind: SearchPathKind,
12
+ pub name: String,
13
+ }
14
+
15
+ impl From<&str> for SearchPathKind {
16
+ fn from(s: &str) -> Self {
17
+ match s {
18
+ "framework" => SearchPathKind::Framework,
19
+ "native" => SearchPathKind::Native,
20
+ _ => panic!("Unknown lib kind: {}", s),
21
+ }
22
+ }
23
+ }
24
+
25
+ impl From<&str> for SearchPath {
26
+ fn from(s: &str) -> Self {
27
+ let parts: Vec<_> = s.split('=').collect();
28
+
29
+ match parts.len() {
30
+ 1 => (SearchPathKind::Native, parts[0]).into(),
31
+ 2 => (parts[0], parts[1]).into(),
32
+ _ => panic!("Invalid library specification: {}", s),
33
+ }
34
+ }
35
+ }
36
+
37
+ impl<K, T> From<(K, T)> for SearchPath
38
+ where
39
+ K: Into<SearchPathKind>,
40
+ T: Into<String>,
41
+ {
42
+ fn from((kind, name): (K, T)) -> Self {
43
+ Self {
44
+ kind: kind.into(),
45
+ name: name.into(),
46
+ }
47
+ }
48
+ }
49
+
50
+ impl std::fmt::Display for SearchPath {
51
+ fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
52
+ match self.kind {
53
+ SearchPathKind::Framework => write!(f, "framework={}", self.name),
54
+ SearchPathKind::Native => write!(f, "native={}", self.name),
55
+ }
56
+ }
57
+ }