Struct reachable::async_target::AsyncTargetExecutor
source ·
[−]pub struct AsyncTargetExecutor { /* fields omitted */ }
Expand description
Async target check executor used to check the availability of a given number of AsyncTargets.
Implementations
Construct a new AsyncTargetExecutor
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();
Stop asynchronous processing started with AsyncTargetExecutor::start gracefully.