pub struct WatchedDirectory {
pub path: PathBuf,
pub wave: Wave,
pub recent_events: Vec<WatchEvent>,
pub security_findings: Vec<SecurityFinding>,
pub interest_level: InterestLevel,
pub interest_computed_at: Instant,
}Expand description
A directory being watched with its wave state
Fields§
§path: PathBufThe path being watched
wave: WaveWave representing this directory’s activity pattern
recent_events: Vec<WatchEvent>Recent events (for burst detection)
security_findings: Vec<SecurityFinding>Security findings in this directory
interest_level: InterestLevelComputed interest level
interest_computed_at: InstantLast time we computed the interest level
Implementations§
Source§impl WatchedDirectory
impl WatchedDirectory
Sourcepub fn record_event(&mut self, event: WatchEvent)
pub fn record_event(&mut self, event: WatchEvent)
Record a file system event, updating the wave
Sourcepub fn record_security_finding(&mut self, finding: SecurityFinding)
pub fn record_security_finding(&mut self, finding: SecurityFinding)
Record a security finding
Sourcepub fn apply_decay(&mut self, elapsed_secs: f64)
pub fn apply_decay(&mut self, elapsed_secs: f64)
Apply decay to the wave (call periodically)
Sourcepub fn resonance_with(&self, other: &WatchedDirectory) -> f64
pub fn resonance_with(&self, other: &WatchedDirectory) -> f64
Compute resonance with another watched directory
Trait Implementations§
Source§impl Clone for WatchedDirectory
impl Clone for WatchedDirectory
Source§fn clone(&self) -> WatchedDirectory
fn clone(&self) -> WatchedDirectory
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 moreAuto Trait Implementations§
impl Freeze for WatchedDirectory
impl RefUnwindSafe for WatchedDirectory
impl Send for WatchedDirectory
impl Sync for WatchedDirectory
impl Unpin for WatchedDirectory
impl UnsafeUnpin for WatchedDirectory
impl UnwindSafe for WatchedDirectory
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more