Skip to content

Commit ddf5cb4

Browse files
committed
use dyn logger in LoggerScope
1 parent e253c72 commit ddf5cb4

File tree

3 files changed

+7
-9
lines changed

3 files changed

+7
-9
lines changed

lightning/src/routing/gossip.rs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use crate::util::async_poll::{MaybeSend, MaybeSync};
4141
use crate::util::indexed_map::{
4242
Entry as IndexedMapEntry, IndexedMap, OccupiedEntry as IndexedMapOccupiedEntry,
4343
};
44-
use crate::util::logger::{Level, Logger};
44+
use crate::util::logger::{Level, Logger, LoggerScope};
4545
use crate::util::scid_utils::{block_from_scid, scid_from_parts, MAX_SCID_BLOCK};
4646
use crate::util::ser::{MaybeReadable, Readable, ReadableArgs, RequiredWrapper, Writeable, Writer};
4747

@@ -1843,6 +1843,8 @@ where
18431843
/// The unix timestamp provided by the most recent rapid gossip sync.
18441844
/// It will be set by the rapid sync process after every sync completion.
18451845
pub fn get_last_rapid_gossip_sync_timestamp(&self) -> Option<u32> {
1846+
let _scope = LoggerScope::new(&*self.logger); // DOES NOT WORK.
1847+
18461848
self.last_rapid_gossip_sync_timestamp.lock().unwrap().clone()
18471849
}
18481850

lightning/src/util/logger.rs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ pub struct LoggerScope<'a> {
271271
}
272272

273273
impl<'a> LoggerScope<'a> {
274-
pub fn new<L: Logger + 'a>(logger: &'a L) -> Self {
274+
pub fn new(logger: &'a dyn Logger) -> Self {
275275
TLS_LOGGER.with(|cell| {
276276
let mut borrow = cell.borrow_mut();
277277

@@ -280,11 +280,8 @@ impl<'a> LoggerScope<'a> {
280280
panic!("LoggerScope already active in this thread");
281281
}
282282

283-
// Transmute is safe in practice because the RAII pattern ensures:
284-
// - The TLS logger reference is only used while the guard exists.
285-
// - The guard cannot outlive the logger (thanks to PhantomData<'a>).
286-
let logger_ref: &dyn Logger = logger;
287-
let logger_ref_static: &'static dyn Logger = unsafe { std::mem::transmute(logger_ref) };
283+
let logger_ref_static: &'static dyn Logger =
284+
unsafe { std::mem::transmute::<&'a dyn Logger, &'static dyn Logger>(logger) };
288285

289286
*borrow = Some(logger_ref_static);
290287
});

lightning/src/util/persist.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ use crate::ln::types::ChannelId;
3535
use crate::sign::{ecdsa::EcdsaChannelSigner, EntropySource, SignerProvider};
3636
use crate::sync::Mutex;
3737
use crate::util::async_poll::{dummy_waker, AsyncResult, MaybeSend, MaybeSync};
38-
use crate::util::logger::{Logger, LoggerScope};
38+
use crate::util::logger::Logger;
3939
use crate::util::native_async::FutureSpawner;
4040
use crate::util::ser::{Readable, ReadableArgs, Writeable};
4141
use crate::util::wakers::Notifier;
@@ -1063,7 +1063,6 @@ where
10631063
Err(err) => return Err(err),
10641064
};
10651065

1066-
// let _scope = LoggerScope::new(&*self.logger); // DOES NOT WORK
10671066
monitor
10681067
.update_monitor(&update, &self.broadcaster, &self.fee_estimator, &self.logger)
10691068
.map_err(|e| {

0 commit comments

Comments
 (0)