pub struct Session { /* private fields */ }Expand description
Session that drives an Analyzer from a scheduler stream.
Implementations§
Source§impl Session
impl Session
Sourcepub fn new() -> Self
pub fn new() -> Self
New session at Generation::ZERO.
Sourcepub fn generation(&self) -> Generation
pub fn generation(&self) -> Generation
Current generation.
Sourcepub fn subscribe(&self) -> Receiver<GenerationEvent>
pub fn subscribe(&self) -> Receiver<GenerationEvent>
Subscribe to generation events.
Sourcepub fn advance(&self, cause: Cause) -> Generation
pub fn advance(&self, cause: Cause) -> Generation
Bump the generation and broadcast a Rescan event.
Sourcepub async fn run<A: Analyzer>(
self,
triggers: UnboundedReceiver<Trigger>,
analyzer: A,
)
pub async fn run<A: Analyzer>( self, triggers: UnboundedReceiver<Trigger>, analyzer: A, )
Drive the session: read triggers, run the analyzer, advance generation
on success. Returns when triggers closes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Session
impl RefUnwindSafe for Session
impl Send for Session
impl Sync for Session
impl Unpin for Session
impl UnsafeUnpin for Session
impl UnwindSafe for Session
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