aboutsummaryrefslogtreecommitdiff
path: root/src/modules/delay.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/delay.rs')
-rw-r--r--src/modules/delay.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/modules/delay.rs b/src/modules/delay.rs
index 5b5ce06..31036fe 100644
--- a/src/modules/delay.rs
+++ b/src/modules/delay.rs
@@ -17,7 +17,7 @@ pub struct DelayKind;
#[derive(Deserialize)]
struct Delay {
duration: u64,
- stdev: u64,
+ stdev: Option<u64>,
next: DynNode,
}
@@ -36,11 +36,12 @@ impl Node for Delay {
request: NodeRequest,
) -> Pin<Box<dyn Future<Output = Result<NodeResponse, ServiceError>> + Send + Sync + 'a>> {
Box::pin(async move {
- sleep(Duration::from_millis(if self.stdev == 0 {
+ let stdev = self.stdev.unwrap_or_default();
+ sleep(Duration::from_millis(if stdev == 0 {
self.duration
} else {
self.duration.saturating_add_signed(
- rand_distr::Normal::new(0., self.stdev as f32)
+ rand_distr::Normal::new(0., stdev as f32)
.unwrap()
.sample(&mut rand::rng()) as i64,
)