pub struct RefreshScheduler { /* private fields */ }Expand description
Manages background refresh tasks for dynamic sources.
The scheduler spawns per-source tasks based on their refresh policy and
sends RefreshResult notifications whenever source data changes.
Implementations§
Source§impl RefreshScheduler
impl RefreshScheduler
Sourcepub fn trigger_sender(&self) -> Sender<RefreshTrigger>
pub fn trigger_sender(&self) -> Sender<RefreshTrigger>
Get a sender for triggering on-demand resolution.
Sourcepub fn result_receiver(&self) -> Receiver<Option<RefreshResult>>
pub fn result_receiver(&self) -> Receiver<Option<RefreshResult>>
Get a receiver that is notified when sources are refreshed.
Sourcepub fn run(
self,
sources: Vec<DynamicSource>,
resolver: Arc<dyn SourceResolver>,
) -> JoinHandle<()>
pub fn run( self, sources: Vec<DynamicSource>, resolver: Arc<dyn SourceResolver>, ) -> JoinHandle<()>
Start the scheduler background loop.
Takes ownership of the trigger receiver and spawns per-source interval tasks.
Returns a JoinHandle for the main coordination task.
When a refresh occurs (via interval timer or on-demand trigger), all sources are re-resolved and the result is published on the watch channel.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RefreshScheduler
impl RefUnwindSafe for RefreshScheduler
impl Send for RefreshScheduler
impl Sync for RefreshScheduler
impl Unpin for RefreshScheduler
impl UnsafeUnpin for RefreshScheduler
impl UnwindSafe for RefreshScheduler
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
Attempts to downcast this to
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
Attempts to downcast this to
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
Attempts to downcast this to
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
Attempts to downcast this to
T behind Arc pointerSource§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, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
impl<T, X> CoerceTo<T> for Xwhere
T: CoerceFrom<X> + ?Sized,
fn coerce_rc_to(self: Rc<X>) -> Rc<T>
fn coerce_box_to(self: Box<X>) -> Box<T>
fn coerce_ref_to(&self) -> &T
fn coerce_mut_to(&mut self) -> &mut 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