pub struct DelayConfig {
pub tick_interval: Duration,
pub unit_rebroadcast_interval_min: Duration,
pub unit_rebroadcast_interval_max: Duration,
pub unit_creation_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>,
pub coord_request_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>,
pub coord_request_recipients: Arc<dyn Fn(usize) -> usize + Sync + Send + 'static>,
pub parent_request_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>,
pub parent_request_recipients: Arc<dyn Fn(usize) -> usize + Sync + Send + 'static>,
pub newest_request_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>,
}Expand description
Configuration of several parameters related to delaying various tasks.
Fields§
§tick_interval: DurationTick frequency of the request task queue, impacts how often tasks are send out.
unit_rebroadcast_interval_min: DurationMinimum frequency of broadcast of top known units. Units have to be at least this old to be rebroadcast at all.
unit_rebroadcast_interval_max: DurationMaximum frequency of broadcast of top known units.
unit_creation_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>unit_creation_delay(k) represents the delay between creating the (k-1)th and kth unit.
coord_request_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>coord_request_delay(k) represents the delay between the kth and (k+1)st try when requesting a unit by coords.
coord_request_recipients: Arc<dyn Fn(usize) -> usize + Sync + Send + 'static>coord_request_recipients(k) represents the number of nodes to ask at the kth try when requesting a unit by coords.
parent_request_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>parent_request_delay(k) represents the delay between the kth and (k+1)st try when requesting unknown parents of a unit.
parent_request_recipients: Arc<dyn Fn(usize) -> usize + Sync + Send + 'static>parent_request_recipients(k) represents the number of nodes to ask at the kth try when requesting unknown parents of a unit.
newest_request_delay: Arc<dyn Fn(usize) -> Duration + Sync + Send + 'static>newest_request_delay(k) represents the delay between the kth and (k+1)st try when sending a broadcast request for newest units
Trait Implementations§
Source§impl Clone for DelayConfig
impl Clone for DelayConfig
Source§fn clone(&self) -> DelayConfig
fn clone(&self) -> DelayConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DelayConfig
impl !RefUnwindSafe for DelayConfig
impl Send for DelayConfig
impl Sync for DelayConfig
impl Unpin for DelayConfig
impl !UnwindSafe for DelayConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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