pub struct AsyncTargetExecutor { /* private fields */ }
Expand description
Async target check executor used to check the availability of a given number of AsyncTargets.
Implementations§
Source§impl AsyncTargetExecutor
impl AsyncTargetExecutor
Sourcepub fn new() -> Self
pub fn new() -> Self
Construct a new AsyncTargetExecutor
Sourcepub fn start(&mut self, targets: Vec<AsyncTarget<'static>>)
pub fn start(&mut self, targets: Vec<AsyncTarget<'static>>)
Start periodic availability checks for all given targets
Each targets execution behavior is configured during AsyncTarget construction.
§Arguments
- targets: a vector of AsyncTargets, those availability should be check periodically.
§Example
// Setup AsyncTarget
let target = IcmpTarget::from_str("127.0.0.1").unwrap();
let check_handler = |_: &dyn Target, _: Status, _: OldStatus, _: Option<CheckTargetError>| {
// Handle check results
};
let check_interval = Duration::from_secs(1);
let async_target = AsyncTarget::from((target, check_handler, check_interval));
// Setup AsyncTargetExecutor and let it run for 1s
let mut exec = AsyncTargetExecutor::new();
exec.start(vec![async_target]);
sleep(Duration::from_secs(1));
exec.stop();
Sourcepub fn stop(&mut self)
pub fn stop(&mut self)
Stop asynchronous processing started with AsyncTargetExecutor::start gracefully.
Trait Implementations§
Source§impl Default for AsyncTargetExecutor
impl Default for AsyncTargetExecutor
Auto Trait Implementations§
impl Freeze for AsyncTargetExecutor
impl !RefUnwindSafe for AsyncTargetExecutor
impl Send for AsyncTargetExecutor
impl Sync for AsyncTargetExecutor
impl Unpin for AsyncTargetExecutor
impl !UnwindSafe for AsyncTargetExecutor
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