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.
- checksums.yaml +4 -4
- data/ext/breaker_machines_native/ffi/extconf.rb +11 -16
- data/lib/breaker_machines/native_extension.rb +52 -15
- data/lib/breaker_machines/version.rb +1 -1
- metadata +14 -60
- data/ext/breaker_machines_native/target/debug/build/clang-sys-d961dfabd5f43fba/out/common.rs +0 -355
- data/ext/breaker_machines_native/target/debug/build/clang-sys-d961dfabd5f43fba/out/dynamic.rs +0 -276
- data/ext/breaker_machines_native/target/debug/build/clang-sys-d961dfabd5f43fba/out/macros.rs +0 -49
- 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
- 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
- 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
- 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
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/Cargo.toml +0 -48
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/examples/basic.rs +0 -61
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/builder.rs +0 -154
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/callbacks.rs +0 -55
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/circuit.rs +0 -607
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/errors.rs +0 -38
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/lib.rs +0 -58
- data/ext/breaker_machines_native/target/package/breaker-machines-0.1.0/src/storage.rs +0 -377
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/Cargo.toml +0 -48
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/examples/basic.rs +0 -61
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/builder.rs +0 -173
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/callbacks.rs +0 -55
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/circuit.rs +0 -855
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/errors.rs +0 -38
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/lib.rs +0 -58
- data/ext/breaker_machines_native/target/package/breaker-machines-0.2.0/src/storage.rs +0 -377
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/Cargo.toml +0 -48
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/examples/basic.rs +0 -61
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/builder.rs +0 -154
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/callbacks.rs +0 -55
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/circuit.rs +0 -607
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/errors.rs +0 -38
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/lib.rs +0 -58
- data/ext/breaker_machines_native/target/package/breaker-machines-0.5.0/src/storage.rs +0 -377
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/Cargo.toml +0 -48
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/examples/basic.rs +0 -61
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/builder.rs +0 -232
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/bulkhead.rs +0 -223
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/callbacks.rs +0 -58
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/circuit.rs +0 -1156
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/classifier.rs +0 -177
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/errors.rs +0 -47
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/lib.rs +0 -62
- data/ext/breaker_machines_native/target/package/breaker-machines-0.6.0/src/storage.rs +0 -377
- data/ext/breaker_machines_native/target/release/build/clang-sys-ef8ad8b846ac8b75/out/common.rs +0 -355
- data/ext/breaker_machines_native/target/release/build/clang-sys-ef8ad8b846ac8b75/out/dynamic.rs +0 -276
- data/ext/breaker_machines_native/target/release/build/clang-sys-ef8ad8b846ac8b75/out/macros.rs +0 -49
- 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
|
-
}
|