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: Duration
Tick frequency of the Member. Governs internal task queue of the Member.
unit_rebroadcast_interval_min: Duration
Minimum frequency of broadcast of top known units. Units have to be at least this old to be rebroadcast at all.
unit_rebroadcast_interval_max: Duration
Maximum 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