Skip to content

Commit 932e71e

Browse files
committed
pass rng around
1 parent 4e4c386 commit 932e71e

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

src/howl.rs

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ use isis_streaming_data_types::flatbuffers_generated::run_stop_6s4t::{
1414
RunStop, RunStopArgs, finish_run_stop_buffer,
1515
};
1616
use log::{debug, error, warn};
17-
use rand::{RngExt, rng};
17+
use rand::{RngExt, rng, Rng};
18+
use rand::prelude::ThreadRng;
1819
use rand_distr::{Distribution, Normal};
1920
use rdkafka::ClientConfig;
2021
use rdkafka::producer::{BaseProducer, BaseRecord};
@@ -114,6 +115,7 @@ fn generate_run_stop<'a>(fbb: &'a mut FlatBufferBuilder<'_>, job_id: &str) -> &'
114115
fn produce_messages(
115116
producer: &BaseProducer,
116117
fbb: &mut FlatBufferBuilder,
118+
rng: &mut ThreadRng,
117119
frame: i64,
118120
topic_prefix: &str,
119121
events_per_message: i32,
@@ -135,6 +137,7 @@ fn produce_messages(
135137

136138
let msg = generate_fake_events(
137139
fbb,
140+
rng,
138141
frame,
139142
events_per_message,
140143
tof_peak,
@@ -168,8 +171,10 @@ fn produce_messages(
168171
current_job_id
169172
}
170173

174+
171175
fn generate_fake_events<'a>(
172176
fbb: &'a mut FlatBufferBuilder<'_>,
177+
rng: &mut ThreadRng,
173178
msg_id: i64,
174179
events_per_message: i32,
175180
tof_peak: f32,
@@ -179,15 +184,14 @@ fn generate_fake_events<'a>(
179184
timestamp: f32,
180185
) -> &'a [u8] {
181186
fbb.reset();
182-
let mut rng = rand::rng();
183187

184188
let det_ids: Vec<i32> = (0..events_per_message)
185189
.map(|_| rng.random_range(det_min..=det_max))
186190
.collect();
187191

188192
let normal = Normal::new(tof_peak, tof_sigma).unwrap();
189193
let tofs: Vec<i32> = (0..events_per_message)
190-
.map(|_| normal.sample(&mut rng) as i32)
194+
.map(|_| normal.sample(rng) as i32)
191195
.collect();
192196

193197
let args = Event44MessageArgs {
@@ -217,13 +221,15 @@ pub fn howl(
217221
) {
218222
// create producer
219223
let mut fbb = FlatBufferBuilder::new();
224+
let mut rng = rand::rng();
220225

221226
let now = SystemTime::now()
222227
.duration_since(SystemTime::UNIX_EPOCH)
223228
.unwrap()
224229
.as_millis() as f32;
225230
let ev44_size = generate_fake_events(
226231
&mut fbb,
232+
&mut rng,
227233
0,
228234
events_per_message,
229235
tof_peak,
@@ -287,6 +293,7 @@ pub fn howl(
287293
current_job_id = produce_messages(
288294
&producer,
289295
&mut fbb,
296+
&mut rng,
290297
frames,
291298
&topic_prefix,
292299
events_per_message,

0 commit comments

Comments
 (0)