Skip to content
This repository was archived by the owner on Jan 22, 2025. It is now read-only.

Commit 14ec1d1

Browse files
committed
Introduce inner struct instead of tuple...
1 parent ae6a407 commit 14ec1d1

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

core/src/banking_trace.rs

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,15 @@ pub const DISABLED_BAKING_TRACE_DIR: DirByteLimit = 0;
5555
pub const BANKING_TRACE_DIR_DEFAULT_BYTE_LIMIT: DirByteLimit =
5656
TRACE_FILE_DEFAULT_ROTATE_BYTE_THRESHOLD * TRACE_FILE_ROTATE_COUNT;
5757

58-
#[allow(clippy::type_complexity)]
58+
#[derive(Clone, Debug)]
59+
struct ActiveTracer {
60+
trace_sender: Sender<TimedTracedEvent>,
61+
exit: Arc<AtomicBool>,
62+
}
63+
5964
#[derive(Debug)]
6065
pub struct BankingTracer {
61-
enabled_tracer: Option<(Sender<TimedTracedEvent>, Arc<AtomicBool>)>,
66+
active_tracer: Option<ActiveTracer>,
6267
}
6368

6469
#[derive(Serialize, Deserialize, Debug)]
@@ -200,7 +205,7 @@ impl BankingTracer {
200205

201206
Ok((
202207
Arc::new(Self {
203-
enabled_tracer: Some((trace_sender, exit)),
208+
active_tracer: Some(ActiveTracer { trace_sender, exit }),
204209
}),
205210
Some(tracer_thread),
206211
))
@@ -210,21 +215,16 @@ impl BankingTracer {
210215

211216
pub fn new_disabled() -> Arc<Self> {
212217
Arc::new(Self {
213-
enabled_tracer: None,
218+
active_tracer: None,
214219
})
215220
}
216221

217222
pub fn is_enabled(&self) -> bool {
218-
self.enabled_tracer.is_some()
223+
self.active_tracer.is_some()
219224
}
220225

221226
fn create_channel(&self, label: ChannelLabel) -> (BankingPacketSender, BankingPacketReceiver) {
222-
Self::channel(
223-
label,
224-
self.enabled_tracer
225-
.as_ref()
226-
.map(|(sender, exit)| (sender.clone(), exit.clone())),
227-
)
227+
Self::channel(label, self.active_tracer.as_ref().cloned())
228228
}
229229

230230
pub fn create_channel_non_vote(&self) -> (BankingPacketSender, BankingPacketReceiver) {
@@ -249,9 +249,9 @@ impl BankingTracer {
249249
}
250250

251251
fn trace_event(&self, on_trace: impl Fn() -> TimedTracedEvent) {
252-
if let Some((sender, exit)) = &self.enabled_tracer {
252+
if let Some(ActiveTracer { trace_sender, exit }) = &self.active_tracer {
253253
if !exit.load(Ordering::Relaxed) {
254-
sender
254+
trace_sender
255255
.send(on_trace())
256256
.expect("active tracer thread unless exited");
257257
}
@@ -264,10 +264,10 @@ impl BankingTracer {
264264

265265
fn channel(
266266
label: ChannelLabel,
267-
trace_sender: Option<(Sender<TimedTracedEvent>, Arc<AtomicBool>)>,
267+
active_tracer: Option<ActiveTracer>,
268268
) -> (TracedSender, Receiver<BankingPacketBatch>) {
269269
let (sender, receiver) = unbounded();
270-
(TracedSender::new(label, sender, trace_sender), receiver)
270+
(TracedSender::new(label, sender, active_tracer), receiver)
271271
}
272272

273273
pub fn ensure_cleanup_path(path: &PathBuf) -> Result<(), io::Error> {
@@ -327,24 +327,24 @@ impl BankingTracer {
327327
pub struct TracedSender {
328328
label: ChannelLabel,
329329
sender: Sender<BankingPacketBatch>,
330-
trace_sender: Option<(Sender<TimedTracedEvent>, Arc<AtomicBool>)>,
330+
active_tracer: Option<ActiveTracer>,
331331
}
332332

333333
impl TracedSender {
334334
fn new(
335335
label: ChannelLabel,
336336
sender: Sender<BankingPacketBatch>,
337-
trace_sender: Option<(Sender<TimedTracedEvent>, Arc<AtomicBool>)>,
337+
active_tracer: Option<ActiveTracer>,
338338
) -> Self {
339339
Self {
340340
label,
341341
sender,
342-
trace_sender,
342+
active_tracer,
343343
}
344344
}
345345

346346
pub fn send(&self, batch: BankingPacketBatch) -> Result<(), SendError<BankingPacketBatch>> {
347-
if let Some((trace_sender, exit)) = &self.trace_sender {
347+
if let Some(ActiveTracer { trace_sender, exit }) = &self.active_tracer {
348348
if !exit.load(Ordering::Relaxed) {
349349
trace_sender
350350
.send(TimedTracedEvent(

0 commit comments

Comments
 (0)