pub enum BThreadRule {
Mutex {
scope: EventPattern,
key: String,
ttl_secs: Option<u64>,
},
Require {
trigger: EventPattern,
prerequisite: EventPattern,
reset: Option<EventPattern>,
},
BlockUntil {
trigger: EventPattern,
block: Vec<EventPattern>,
until: EventPattern,
escalate: bool,
escalation_message: Option<String>,
},
BlockAlways {
scope: EventPattern,
},
RateLimit {
scope: EventPattern,
max: u32,
window_secs: u64,
},
Timeout {
scope: EventPattern,
max_duration_secs: u64,
action: TimeoutAction,
},
Partition {
scope: EventPattern,
strategy: PartitionStrategy,
agent_count: u32,
},
}Expand description
Rule types for b-thread coordination.
Variants§
Mutex
Only one agent can hold a resource at a time.
Fields
§
scope: EventPatternRequire
Action X requires prior event Y (with optional reset).
BlockUntil
Block event Y after event X until event Z occurs.
BlockAlways
Unconditionally block matching events.
Fields
§
scope: EventPatternRateLimit
Max N events in a time window.
Timeout
Kill operations exceeding a time budget.
Partition
Deterministic work sharding across agents.
Implementations§
Source§impl BThreadRule
impl BThreadRule
Trait Implementations§
Source§impl Clone for BThreadRule
impl Clone for BThreadRule
Source§fn clone(&self) -> BThreadRule
fn clone(&self) -> BThreadRule
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for BThreadRule
impl Debug for BThreadRule
Source§impl<'de> Deserialize<'de> for BThreadRule
impl<'de> Deserialize<'de> for BThreadRule
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<BThreadRule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<BThreadRule, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for BThreadRule
impl Serialize for BThreadRule
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for BThreadRule
impl RefUnwindSafe for BThreadRule
impl Send for BThreadRule
impl Sync for BThreadRule
impl Unpin for BThreadRule
impl UnsafeUnpin for BThreadRule
impl UnwindSafe for BThreadRule
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more