From a55828b2cea9ee2b3c10ffa476aa082d57ecb399 Mon Sep 17 00:00:00 2001 From: Federico Gimenez Date: Mon, 13 May 2024 17:53:48 +0200 Subject: [PATCH] remove uneeded subscriber count --- crates/tokio-util/src/event_listeners.rs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/crates/tokio-util/src/event_listeners.rs b/crates/tokio-util/src/event_listeners.rs index c0d560d6a1c8..66cb07e50feb 100644 --- a/crates/tokio-util/src/event_listeners.rs +++ b/crates/tokio-util/src/event_listeners.rs @@ -1,4 +1,3 @@ -use std::sync::atomic::{AtomicUsize, Ordering}; use tokio::sync::broadcast::{self, Sender}; use tokio_stream::wrappers::BroadcastStream; use tracing::{error, warn}; @@ -10,16 +9,11 @@ const DEFAULT_BROADCAST_CHANNEL_SIZE: usize = 1000; pub struct EventListeners { /// The sender part of the broadcast channel sender: Sender, - /// The number of subscribers, needed because the broadcast sender doesn't track this - subscriber_count: AtomicUsize, } impl Clone for EventListeners { fn clone(&self) -> Self { - EventListeners { - sender: self.sender.clone(), - subscriber_count: AtomicUsize::new(self.subscriber_count.load(Ordering::SeqCst)), - } + EventListeners { sender: self.sender.clone() } } } @@ -33,7 +27,7 @@ impl EventListeners { /// Creates a new `EventListeners`. pub fn new(broadcast_channel_size: usize) -> Self { let (sender, _) = broadcast::channel(broadcast_channel_size); - Self { sender, subscriber_count: 0.into() } + Self { sender } } /// Broadcast sender setter. @@ -60,7 +54,6 @@ impl EventListeners { /// Adds a new event listener and returns the associated receiver. pub fn new_listener(&self) -> BroadcastStream { - self.subscriber_count.fetch_add(1, Ordering::Relaxed); BroadcastStream::new(self.sender.subscribe()) } }