pub struct Rule {
pub id: String,
pub name: String,
pub enabled: bool,
pub trigger: Trigger,
pub conditions: Vec<Condition>,
pub actions: Vec<RuleAction>,
pub cooldown: Option<Duration>,
}Expand description
A rule definition that triggers actions based on signal changes.
Fields§
§id: StringUnique rule identifier
name: StringHuman-readable name
enabled: boolWhether the rule is active
trigger: TriggerWhat triggers the rule
conditions: Vec<Condition>Additional conditions that must be true for the rule to fire
actions: Vec<RuleAction>Actions to execute when the rule fires
cooldown: Option<Duration>Minimum time between firings (None = no cooldown)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Rule
impl<'de> Deserialize<'de> for Rule
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Rule
impl RefUnwindSafe for Rule
impl Send for Rule
impl Sync for Rule
impl Unpin for Rule
impl UnsafeUnpin for Rule
impl UnwindSafe for Rule
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