breaker_machines 0.7.0 → 0.9.2

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/ext/breaker_machines_native/ffi/extconf.rb +11 -16
  3. data/lib/breaker_machines/native_extension.rb +52 -15
  4. data/lib/breaker_machines/version.rb +1 -1
  5. metadata +14 -60
  6. data/ext/breaker_machines_native/target/debug/build/clang-sys-d961dfabd5f43fba/out/common.rs +0 -355
  7. data/ext/breaker_machines_native/target/debug/build/clang-sys-d961dfabd5f43fba/out/dynamic.rs +0 -276
  8. data/ext/breaker_machines_native/target/debug/build/clang-sys-d961dfabd5f43fba/out/macros.rs +0 -49
  9. data/ext/breaker_machines_native/target/debug/build/rb-sys-2bb7281aac8faec8/out/bindings-0.9.117-mri-arm64-darwin24-3.4.7.rs +0 -8936
  10. data/ext/breaker_machines_native/target/debug/build/rb-sys-54cb99ea6aeab8bc/out/bindings-0.9.117-mri-arm64-darwin24-3.4.7.rs +0 -8936
  11. data/ext/breaker_machines_native/target/debug/build/rb-sys-9e64a270c6421e93/out/bindings-0.9.117-mri-arm64-darwin24-3.4.7.rs +0 -8936
  12. data/ext/breaker_machines_native/target/debug/build/rb-sys-e627030114d3fc19/out/bindings-0.9.117-mri-arm64-darwin24-3.4.7.rs +0 -8936
  13. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/Cargo.toml +0 -48
  14. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/examples/basic.rs +0 -61
  15. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/builder.rs +0 -154
  16. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/callbacks.rs +0 -55
  17. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/circuit.rs +0 -607
  18. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/errors.rs +0 -38
  19. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/lib.rs +0 -58
  20. data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/storage.rs +0 -377
  21. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/Cargo.toml +0 -48
  22. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/examples/basic.rs +0 -61
  23. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/builder.rs +0 -173
  24. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/callbacks.rs +0 -55
  25. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/circuit.rs +0 -855
  26. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/errors.rs +0 -38
  27. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/lib.rs +0 -58
  28. data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/storage.rs +0 -377
  29. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/Cargo.toml +0 -48
  30. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/examples/basic.rs +0 -61
  31. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/builder.rs +0 -154
  32. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/callbacks.rs +0 -55
  33. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/circuit.rs +0 -607
  34. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/errors.rs +0 -38
  35. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/lib.rs +0 -58
  36. data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/storage.rs +0 -377
  37. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/Cargo.toml +0 -48
  38. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/examples/basic.rs +0 -61
  39. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/builder.rs +0 -232
  40. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/bulkhead.rs +0 -223
  41. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/callbacks.rs +0 -58
  42. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/circuit.rs +0 -1156
  43. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/classifier.rs +0 -177
  44. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/errors.rs +0 -47
  45. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/lib.rs +0 -62
  46. data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/storage.rs +0 -377
  47. data/ext/breaker_machines_native/target/release/build/clang-sys-ef8ad8b846ac8b75/out/common.rs +0 -355
  48. data/ext/breaker_machines_native/target/release/build/clang-sys-ef8ad8b846ac8b75/out/dynamic.rs +0 -276
  49. data/ext/breaker_machines_native/target/release/build/clang-sys-ef8ad8b846ac8b75/out/macros.rs +0 -49
  50. data/ext/breaker_machines_native/target/release/build/rb-sys-064bf9961dd17810/out/bindings-0.9.117-mri-arm64-darwin24-3.4.7.rs +0 -8936
@@ -1,55 +0,0 @@
1
- //! Callback system for circuit breaker state transitions
2
-
3
- use std::sync::Arc;
4
-
5
- /// Callbacks for circuit breaker events
6
- #[derive(Clone)]
7
- pub struct Callbacks {
8
- pub on_open: Option<Arc<dyn Fn(&str) + Send + Sync>>,
9
- pub on_close: Option<Arc<dyn Fn(&str) + Send + Sync>>,
10
- pub on_half_open: Option<Arc<dyn Fn(&str) + Send + Sync>>,
11
- }
12
-
13
- impl Callbacks {
14
- pub fn new() -> Self {
15
- Self {
16
- on_open: None,
17
- on_close: None,
18
- on_half_open: None,
19
- }
20
- }
21
-
22
- pub fn trigger_open(&self, circuit: &str) {
23
- if let Some(ref callback) = self.on_open {
24
- callback(circuit);
25
- }
26
- }
27
-
28
- pub fn trigger_close(&self, circuit: &str) {
29
- if let Some(ref callback) = self.on_close {
30
- callback(circuit);
31
- }
32
- }
33
-
34
- pub fn trigger_half_open(&self, circuit: &str) {
35
- if let Some(ref callback) = self.on_half_open {
36
- callback(circuit);
37
- }
38
- }
39
- }
40
-
41
- impl Default for Callbacks {
42
- fn default() -> Self {
43
- Self::new()
44
- }
45
- }
46
-
47
- impl std::fmt::Debug for Callbacks {
48
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
49
- f.debug_struct("Callbacks")
50
- .field("on_open", &self.on_open.is_some())
51
- .field("on_close", &self.on_close.is_some())
52
- .field("on_half_open", &self.on_half_open.is_some())
53
- .finish()
54
- }
55
- }