perf: remove sidecar clone if no listeners (#11285)

This commit is contained in:
Matthias Seitz
2024-09-27 14:59:42 +02:00
committed by GitHub
parent 247f029e2d
commit 098018db49

View File

@ -580,9 +580,11 @@ where
/// Notify all listeners about a blob sidecar for a newly inserted blob (eip4844) transaction.
fn on_new_blob_sidecar(&self, tx_hash: &TxHash, sidecar: &BlobTransactionSidecar) {
let sidecar = Arc::new(sidecar.clone());
let mut sidecar_listeners = self.blob_transaction_sidecar_listener.lock();
if sidecar_listeners.is_empty() {
return
}
let sidecar = Arc::new(sidecar.clone());
sidecar_listeners.retain_mut(|listener| {
let new_blob_event = NewBlobSidecar { tx_hash: *tx_hash, sidecar: sidecar.clone() };
match listener.sender.try_send(new_blob_event) {