@@ -14,7 +14,8 @@ use isis_streaming_data_types::flatbuffers_generated::run_stop_6s4t::{
1414 RunStop , RunStopArgs , finish_run_stop_buffer,
1515} ;
1616use log:: { debug, error, warn} ;
17- use rand:: { RngExt , rng} ;
17+ use rand:: { RngExt , rng, Rng } ;
18+ use rand:: prelude:: ThreadRng ;
1819use rand_distr:: { Distribution , Normal } ;
1920use rdkafka:: ClientConfig ;
2021use rdkafka:: producer:: { BaseProducer , BaseRecord } ;
@@ -114,6 +115,7 @@ fn generate_run_stop<'a>(fbb: &'a mut FlatBufferBuilder<'_>, job_id: &str) -> &'
114115fn 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+
171175fn 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