Skip to content

Commit c82dcac

Browse files
committed
f use trait
1 parent c7630eb commit c82dcac

File tree

1 file changed

+43
-54
lines changed

1 file changed

+43
-54
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 43 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,23 +1040,12 @@ struct PersistenceNotifierGuard<'a, F: Fn() -> NotifyOption> {
10401040
}
10411041

10421042
impl<'a> PersistenceNotifierGuard<'a, fn() -> NotifyOption> { // We don't care what the concrete F is here, it's unused
1043-
fn notify_on_drop<M: Deref, T: Deref, ES: Deref, NS: Deref, SP: Deref, F: Deref, R: Deref, L: Deref>
1044-
(cm: &'a ChannelManager<M, T, ES, NS, SP, F, R, L>) -> PersistenceNotifierGuard<'a, impl Fn() -> NotifyOption>
1045-
where
1046-
M::Target: chain::Watch<<SP::Target as SignerProvider>::Signer>,
1047-
T::Target: BroadcasterInterface,
1048-
ES::Target: EntropySource,
1049-
NS::Target: NodeSigner,
1050-
SP::Target: SignerProvider,
1051-
F::Target: FeeEstimator,
1052-
R::Target: Router,
1053-
L::Target: Logger,
1054-
{
1055-
let read_guard = cm.total_consistency_lock.read().unwrap();
1056-
cm.process_background_events();
1043+
fn notify_on_drop<C: AChannelManager>(cm: &'a C) -> PersistenceNotifierGuard<'a, impl Fn() -> NotifyOption> {
1044+
let read_guard = cm.get_cm().total_consistency_lock.read().unwrap();
1045+
cm.get_cm().process_background_events();
10571046

10581047
PersistenceNotifierGuard {
1059-
persistence_notifier: &cm.persistence_notifier,
1048+
persistence_notifier: &cm.get_cm().persistence_notifier,
10601049
should_persist: || -> NotifyOption { NotifyOption::DoPersist },
10611050
_read_guard: read_guard,
10621051
}
@@ -1960,7 +1949,7 @@ where
19601949
return Err(APIError::APIMisuseError { err: format!("Channel value must be at least 1000 satoshis. It was {}", channel_value_satoshis) });
19611950
}
19621951

1963-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
1952+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
19641953
// We want to make sure the lock is actually acquired by PersistenceNotifierGuard.
19651954
debug_assert!(&self.total_consistency_lock.try_write().is_err());
19661955

@@ -2114,7 +2103,7 @@ where
21142103
}
21152104

21162105
fn close_channel_internal(&self, channel_id: &[u8; 32], counterparty_node_id: &PublicKey, target_feerate_sats_per_1000_weight: Option<u32>, override_shutdown_script: Option<ShutdownScript>) -> Result<(), APIError> {
2117-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2106+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
21182107

21192108
let mut failed_htlcs: Vec<(HTLCSource, PaymentHash)>;
21202109
let result: Result<(), _> = loop {
@@ -2287,7 +2276,7 @@ where
22872276
}
22882277

22892278
fn force_close_sending_error(&self, channel_id: &[u8; 32], counterparty_node_id: &PublicKey, broadcast: bool) -> Result<(), APIError> {
2290-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2279+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
22912280
match self.force_close_channel_with_peer(channel_id, counterparty_node_id, None, broadcast) {
22922281
Ok(counterparty_node_id) => {
22932282
let per_peer_state = self.per_peer_state.read().unwrap();
@@ -2897,7 +2886,7 @@ where
28972886
/// [`ChannelMonitorUpdateStatus::InProgress`]: crate::chain::ChannelMonitorUpdateStatus::InProgress
28982887
pub fn send_payment_with_route(&self, route: &Route, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields, payment_id: PaymentId) -> Result<(), PaymentSendFailure> {
28992888
let best_block_height = self.best_block.read().unwrap().height();
2900-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2889+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
29012890
self.pending_outbound_payments
29022891
.send_payment_with_route(route, payment_hash, recipient_onion, payment_id, &self.entropy_source, &self.node_signer, best_block_height,
29032892
|path, payment_hash, recipient_onion, total_value, cur_height, payment_id, keysend_preimage, session_priv|
@@ -2908,7 +2897,7 @@ where
29082897
/// `route_params` and retry failed payment paths based on `retry_strategy`.
29092898
pub fn send_payment(&self, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields, payment_id: PaymentId, route_params: RouteParameters, retry_strategy: Retry) -> Result<(), RetryableSendFailure> {
29102899
let best_block_height = self.best_block.read().unwrap().height();
2911-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2900+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
29122901
self.pending_outbound_payments
29132902
.send_payment(payment_hash, recipient_onion, payment_id, retry_strategy, route_params,
29142903
&self.router, self.list_usable_channels(), || self.compute_inflight_htlcs(),
@@ -2921,7 +2910,7 @@ where
29212910
#[cfg(test)]
29222911
pub(super) fn test_send_payment_internal(&self, route: &Route, payment_hash: PaymentHash, recipient_onion: RecipientOnionFields, keysend_preimage: Option<PaymentPreimage>, payment_id: PaymentId, recv_value_msat: Option<u64>, onion_session_privs: Vec<[u8; 32]>) -> Result<(), PaymentSendFailure> {
29232912
let best_block_height = self.best_block.read().unwrap().height();
2924-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2913+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
29252914
self.pending_outbound_payments.test_send_payment_internal(route, payment_hash, recipient_onion, keysend_preimage, payment_id, recv_value_msat, onion_session_privs, &self.node_signer, best_block_height,
29262915
|path, payment_hash, recipient_onion, total_value, cur_height, payment_id, keysend_preimage, session_priv|
29272916
self.send_payment_along_path(path, payment_hash, recipient_onion, total_value, cur_height, payment_id, keysend_preimage, session_priv))
@@ -2956,7 +2945,7 @@ where
29562945
/// [`Event::PaymentFailed`]: events::Event::PaymentFailed
29572946
/// [`Event::PaymentSent`]: events::Event::PaymentSent
29582947
pub fn abandon_payment(&self, payment_id: PaymentId) {
2959-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2948+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
29602949
self.pending_outbound_payments.abandon_payment(payment_id, PaymentFailureReason::UserAbandoned, &self.pending_events);
29612950
}
29622951

@@ -2977,7 +2966,7 @@ where
29772966
/// [`send_payment`]: Self::send_payment
29782967
pub fn send_spontaneous_payment(&self, route: &Route, payment_preimage: Option<PaymentPreimage>, recipient_onion: RecipientOnionFields, payment_id: PaymentId) -> Result<PaymentHash, PaymentSendFailure> {
29792968
let best_block_height = self.best_block.read().unwrap().height();
2980-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2969+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
29812970
self.pending_outbound_payments.send_spontaneous_payment_with_route(
29822971
route, payment_preimage, recipient_onion, payment_id, &self.entropy_source,
29832972
&self.node_signer, best_block_height,
@@ -2994,7 +2983,7 @@ where
29942983
/// [`PaymentParameters::for_keysend`]: crate::routing::router::PaymentParameters::for_keysend
29952984
pub fn send_spontaneous_payment_with_retry(&self, payment_preimage: Option<PaymentPreimage>, recipient_onion: RecipientOnionFields, payment_id: PaymentId, route_params: RouteParameters, retry_strategy: Retry) -> Result<PaymentHash, RetryableSendFailure> {
29962985
let best_block_height = self.best_block.read().unwrap().height();
2997-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
2986+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
29982987
self.pending_outbound_payments.send_spontaneous_payment(payment_preimage, recipient_onion,
29992988
payment_id, retry_strategy, route_params, &self.router, self.list_usable_channels(),
30002989
|| self.compute_inflight_htlcs(), &self.entropy_source, &self.node_signer, best_block_height,
@@ -3008,7 +2997,7 @@ where
30082997
/// us to easily discern them from real payments.
30092998
pub fn send_probe(&self, path: Path) -> Result<(PaymentHash, PaymentId), PaymentSendFailure> {
30102999
let best_block_height = self.best_block.read().unwrap().height();
3011-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
3000+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
30123001
self.pending_outbound_payments.send_probe(path, self.probing_cookie_secret, &self.entropy_source, &self.node_signer, best_block_height,
30133002
|path, payment_hash, recipient_onion, total_value, cur_height, payment_id, keysend_preimage, session_priv|
30143003
self.send_payment_along_path(path, payment_hash, recipient_onion, total_value, cur_height, payment_id, keysend_preimage, session_priv))
@@ -3119,7 +3108,7 @@ where
31193108
/// [`Event::FundingGenerationReady`]: crate::events::Event::FundingGenerationReady
31203109
/// [`Event::ChannelClosed`]: crate::events::Event::ChannelClosed
31213110
pub fn funding_transaction_generated(&self, temporary_channel_id: &[u8; 32], counterparty_node_id: &PublicKey, funding_transaction: Transaction) -> Result<(), APIError> {
3122-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
3111+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
31233112

31243113
for inp in funding_transaction.input.iter() {
31253114
if inp.witness.is_empty() {
@@ -3199,7 +3188,7 @@ where
31993188
});
32003189
}
32013190

3202-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
3191+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
32033192
let per_peer_state = self.per_peer_state.read().unwrap();
32043193
let peer_state_mutex = per_peer_state.get(counterparty_node_id)
32053194
.ok_or_else(|| APIError::ChannelUnavailable { err: format!("Can't find a peer matching the passed counterparty node_id {}", counterparty_node_id) })?;
@@ -3252,7 +3241,7 @@ where
32523241
// TODO: when we move to deciding the best outbound channel at forward time, only take
32533242
// `next_node_id` and not `next_hop_channel_id`
32543243
pub fn forward_intercepted_htlc(&self, intercept_id: InterceptId, next_hop_channel_id: &[u8; 32], next_node_id: PublicKey, amt_to_forward_msat: u64) -> Result<(), APIError> {
3255-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
3244+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
32563245

32573246
let next_hop_scid = {
32583247
let peer_state_lock = self.per_peer_state.read().unwrap();
@@ -3308,7 +3297,7 @@ where
33083297
///
33093298
/// [`HTLCIntercepted`]: events::Event::HTLCIntercepted
33103299
pub fn fail_intercepted_htlc(&self, intercept_id: InterceptId) -> Result<(), APIError> {
3311-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
3300+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
33123301

33133302
let payment = self.pending_intercepted_htlcs.lock().unwrap().remove(&intercept_id)
33143303
.ok_or_else(|| APIError::APIMisuseError {
@@ -3337,7 +3326,7 @@ where
33373326
/// Should only really ever be called in response to a PendingHTLCsForwardable event.
33383327
/// Will likely generate further events.
33393328
pub fn process_pending_htlc_forwards(&self) {
3340-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
3329+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
33413330

33423331
let mut new_events = VecDeque::new();
33433332
let mut failed_forwards = Vec::new();
@@ -4105,7 +4094,7 @@ where
41054094
///
41064095
/// See [`FailureCode`] for valid failure codes.
41074096
pub fn fail_htlc_backwards_with_reason(&self, payment_hash: &PaymentHash, failure_code: FailureCode) {
4108-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
4097+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
41094098

41104099
let removed_source = self.claimable_payments.lock().unwrap().claimable_payments.remove(payment_hash);
41114100
if let Some(payment) = removed_source {
@@ -4282,7 +4271,7 @@ where
42824271
pub fn claim_funds(&self, payment_preimage: PaymentPreimage) {
42834272
let payment_hash = PaymentHash(Sha256::hash(&payment_preimage.0).into_inner());
42844273

4285-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
4274+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
42864275

42874276
let mut sources = {
42884277
let mut claimable_payments = self.claimable_payments.lock().unwrap();
@@ -4683,7 +4672,7 @@ where
46834672
}
46844673

46854674
fn do_accept_inbound_channel(&self, temporary_channel_id: &[u8; 32], counterparty_node_id: &PublicKey, accept_0conf: bool, user_channel_id: u128) -> Result<(), APIError> {
4686-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
4675+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
46874676

46884677
let peers_without_funded_channels = self.peers_without_funded_channels(|peer| !peer.channel_by_id.is_empty());
46894678
let per_peer_state = self.per_peer_state.read().unwrap();
@@ -5630,7 +5619,7 @@ where
56305619
/// update events as a separate process method here.
56315620
#[cfg(fuzzing)]
56325621
pub fn process_monitor_events(&self) {
5633-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
5622+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
56345623
self.process_pending_monitor_events();
56355624
}
56365625

@@ -5786,7 +5775,7 @@ where
57865775

57875776
let payment_secret = PaymentSecret(self.entropy_source.get_secure_random_bytes());
57885777

5789-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
5778+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
57905779
let mut payment_secrets = self.pending_inbound_payments.lock().unwrap();
57915780
match payment_secrets.entry(payment_hash) {
57925781
hash_map::Entry::Vacant(e) => {
@@ -6569,7 +6558,7 @@ where
65696558
L::Target: Logger,
65706559
{
65716560
fn handle_open_channel(&self, counterparty_node_id: &PublicKey, msg: &msgs::OpenChannel) {
6572-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6561+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
65736562
let _ = handle_error!(self, self.internal_open_channel(counterparty_node_id, msg), *counterparty_node_id);
65746563
}
65756564

@@ -6580,7 +6569,7 @@ where
65806569
}
65816570

65826571
fn handle_accept_channel(&self, counterparty_node_id: &PublicKey, msg: &msgs::AcceptChannel) {
6583-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6572+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
65846573
let _ = handle_error!(self, self.internal_accept_channel(counterparty_node_id, msg), *counterparty_node_id);
65856574
}
65866575

@@ -6591,67 +6580,67 @@ where
65916580
}
65926581

65936582
fn handle_funding_created(&self, counterparty_node_id: &PublicKey, msg: &msgs::FundingCreated) {
6594-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6583+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
65956584
let _ = handle_error!(self, self.internal_funding_created(counterparty_node_id, msg), *counterparty_node_id);
65966585
}
65976586

65986587
fn handle_funding_signed(&self, counterparty_node_id: &PublicKey, msg: &msgs::FundingSigned) {
6599-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6588+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66006589
let _ = handle_error!(self, self.internal_funding_signed(counterparty_node_id, msg), *counterparty_node_id);
66016590
}
66026591

66036592
fn handle_channel_ready(&self, counterparty_node_id: &PublicKey, msg: &msgs::ChannelReady) {
6604-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6593+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66056594
let _ = handle_error!(self, self.internal_channel_ready(counterparty_node_id, msg), *counterparty_node_id);
66066595
}
66076596

66086597
fn handle_shutdown(&self, counterparty_node_id: &PublicKey, msg: &msgs::Shutdown) {
6609-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6598+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66106599
let _ = handle_error!(self, self.internal_shutdown(counterparty_node_id, msg), *counterparty_node_id);
66116600
}
66126601

66136602
fn handle_closing_signed(&self, counterparty_node_id: &PublicKey, msg: &msgs::ClosingSigned) {
6614-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6603+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66156604
let _ = handle_error!(self, self.internal_closing_signed(counterparty_node_id, msg), *counterparty_node_id);
66166605
}
66176606

66186607
fn handle_update_add_htlc(&self, counterparty_node_id: &PublicKey, msg: &msgs::UpdateAddHTLC) {
6619-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6608+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66206609
let _ = handle_error!(self, self.internal_update_add_htlc(counterparty_node_id, msg), *counterparty_node_id);
66216610
}
66226611

66236612
fn handle_update_fulfill_htlc(&self, counterparty_node_id: &PublicKey, msg: &msgs::UpdateFulfillHTLC) {
6624-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6613+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66256614
let _ = handle_error!(self, self.internal_update_fulfill_htlc(counterparty_node_id, msg), *counterparty_node_id);
66266615
}
66276616

66286617
fn handle_update_fail_htlc(&self, counterparty_node_id: &PublicKey, msg: &msgs::UpdateFailHTLC) {
6629-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6618+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66306619
let _ = handle_error!(self, self.internal_update_fail_htlc(counterparty_node_id, msg), *counterparty_node_id);
66316620
}
66326621

66336622
fn handle_update_fail_malformed_htlc(&self, counterparty_node_id: &PublicKey, msg: &msgs::UpdateFailMalformedHTLC) {
6634-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6623+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66356624
let _ = handle_error!(self, self.internal_update_fail_malformed_htlc(counterparty_node_id, msg), *counterparty_node_id);
66366625
}
66376626

66386627
fn handle_commitment_signed(&self, counterparty_node_id: &PublicKey, msg: &msgs::CommitmentSigned) {
6639-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6628+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66406629
let _ = handle_error!(self, self.internal_commitment_signed(counterparty_node_id, msg), *counterparty_node_id);
66416630
}
66426631

66436632
fn handle_revoke_and_ack(&self, counterparty_node_id: &PublicKey, msg: &msgs::RevokeAndACK) {
6644-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6633+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66456634
let _ = handle_error!(self, self.internal_revoke_and_ack(counterparty_node_id, msg), *counterparty_node_id);
66466635
}
66476636

66486637
fn handle_update_fee(&self, counterparty_node_id: &PublicKey, msg: &msgs::UpdateFee) {
6649-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6638+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66506639
let _ = handle_error!(self, self.internal_update_fee(counterparty_node_id, msg), *counterparty_node_id);
66516640
}
66526641

66536642
fn handle_announcement_signatures(&self, counterparty_node_id: &PublicKey, msg: &msgs::AnnouncementSignatures) {
6654-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6643+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66556644
let _ = handle_error!(self, self.internal_announcement_signatures(counterparty_node_id, msg), *counterparty_node_id);
66566645
}
66576646

@@ -6667,12 +6656,12 @@ where
66676656
}
66686657

66696658
fn handle_channel_reestablish(&self, counterparty_node_id: &PublicKey, msg: &msgs::ChannelReestablish) {
6670-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6659+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66716660
let _ = handle_error!(self, self.internal_channel_reestablish(counterparty_node_id, msg), *counterparty_node_id);
66726661
}
66736662

66746663
fn peer_disconnected(&self, counterparty_node_id: &PublicKey) {
6675-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6664+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
66766665
let mut failed_channels = Vec::new();
66776666
let mut per_peer_state = self.per_peer_state.write().unwrap();
66786667
let remove_peer = {
@@ -6754,7 +6743,7 @@ where
67546743
return Err(());
67556744
}
67566745

6757-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6746+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
67586747

67596748
// If we have too many peers connected which don't have funded channels, disconnect the
67606749
// peer immediately (as long as it doesn't have funded channels). If we have a bunch of
@@ -6837,7 +6826,7 @@ where
68376826
}
68386827

68396828
fn handle_error(&self, counterparty_node_id: &PublicKey, msg: &msgs::ErrorMessage) {
6840-
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(&self);
6829+
let _persistence_guard = PersistenceNotifierGuard::notify_on_drop(self);
68416830

68426831
if msg.channel_id == [0; 32] {
68436832
let channel_ids: Vec<[u8; 32]> = {

0 commit comments

Comments
 (0)