Skip to content

Commit 95c377b

Browse files
Matt Corallojoostjager
authored andcommitted
dyn the loggers
1 parent ba31105 commit 95c377b

File tree

10 files changed

+89
-61
lines changed

10 files changed

+89
-61
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ use lightning::routing::utxo::UtxoLookup;
5151
use lightning::sign::{
5252
ChangeDestinationSource, ChangeDestinationSourceSync, EntropySource, OutputSpender,
5353
};
54+
use lightning::util::async_poll::{MaybeSend, MaybeSync};
5455
use lightning::util::logger::Logger;
5556
use lightning::util::persist::{
5657
KVStore, KVStoreSync, KVStoreSyncWrapper, CHANNEL_MANAGER_PERSISTENCE_KEY,
@@ -184,8 +185,8 @@ pub enum GossipSync<
184185
U: Deref,
185186
L: Deref,
186187
> where
188+
L::Target: Logger + MaybeSend + MaybeSync,
187189
U::Target: UtxoLookup,
188-
L::Target: Logger,
189190
{
190191
/// Gossip sync via the lightning peer-to-peer network as defined by BOLT 7.
191192
P2P(P),
@@ -203,8 +204,8 @@ impl<
203204
L: Deref,
204205
> GossipSync<P, R, G, U, L>
205206
where
207+
L::Target: Logger + MaybeSend + MaybeSync,
206208
U::Target: UtxoLookup,
207-
L::Target: Logger,
208209
{
209210
fn network_graph(&self) -> Option<&G> {
210211
match self {
@@ -237,8 +238,8 @@ impl<
237238
L: Deref,
238239
> GossipSync<P, &RapidGossipSync<G, L>, G, U, L>
239240
where
241+
L::Target: Logger + MaybeSend + MaybeSync,
240242
U::Target: UtxoLookup,
241-
L::Target: Logger,
242243
{
243244
/// Initializes a new [`GossipSync::P2P`] variant.
244245
pub fn p2p(gossip_sync: P) -> Self {
@@ -259,8 +260,9 @@ impl<
259260
G,
260261
&'a (dyn UtxoLookup + Send + Sync),
261262
L,
262-
> where
263-
L::Target: Logger,
263+
>
264+
where
265+
L::Target: Logger + MaybeSend + MaybeSync,
264266
{
265267
/// Initializes a new [`GossipSync::Rapid`] variant.
266268
pub fn rapid(gossip_sync: R) -> Self {
@@ -276,8 +278,9 @@ impl<'a, L: Deref>
276278
&'a NetworkGraph<L>,
277279
&'a (dyn UtxoLookup + Send + Sync),
278280
L,
279-
> where
280-
L::Target: Logger,
281+
>
282+
where
283+
L::Target: Logger + MaybeSend + MaybeSync,
281284
{
282285
/// Initializes a new [`GossipSync::None`] variant.
283286
pub fn none() -> Self {
@@ -287,7 +290,7 @@ impl<'a, L: Deref>
287290

288291
fn handle_network_graph_update<L: Deref>(network_graph: &NetworkGraph<L>, event: &Event)
289292
where
290-
L::Target: Logger,
293+
L::Target: Logger + MaybeSend + MaybeSync,
291294
{
292295
if let Event::PaymentPathFailed {
293296
failure: PathFailure::OnPath { network_update: Some(ref upd) },
@@ -911,11 +914,11 @@ pub async fn process_events_async<
911914
sleeper: Sleeper, mobile_interruptable_platform: bool, fetch_time: FetchTime,
912915
) -> Result<(), lightning::io::Error>
913916
where
917+
L::Target: Logger + MaybeSend + MaybeSync,
914918
UL::Target: UtxoLookup,
915919
CF::Target: chain::Filter,
916920
T::Target: BroadcasterInterface,
917921
F::Target: FeeEstimator,
918-
L::Target: Logger,
919922
P::Target: Persist<<CM::Target as AChannelManager>::Signer>,
920923
ES::Target: EntropySource,
921924
CM::Target: AChannelManager,
@@ -1382,11 +1385,11 @@ pub async fn process_events_async_with_kv_store_sync<
13821385
sleeper: Sleeper, mobile_interruptable_platform: bool, fetch_time: FetchTime,
13831386
) -> Result<(), lightning::io::Error>
13841387
where
1388+
L::Target: Logger + MaybeSend + MaybeSync,
13851389
UL::Target: UtxoLookup,
13861390
CF::Target: chain::Filter,
13871391
T::Target: BroadcasterInterface,
13881392
F::Target: FeeEstimator,
1389-
L::Target: Logger,
13901393
P::Target: Persist<<CM::Target as AChannelManager>::Signer>,
13911394
ES::Target: EntropySource,
13921395
CM::Target: AChannelManager,
@@ -1500,7 +1503,7 @@ impl BackgroundProcessor {
15001503
CF::Target: 'static + chain::Filter,
15011504
T::Target: 'static + BroadcasterInterface,
15021505
F::Target: 'static + FeeEstimator,
1503-
L::Target: 'static + Logger,
1506+
L::Target: Logger + MaybeSend + MaybeSync,
15041507
P::Target: 'static + Persist<<CM::Target as AChannelManager>::Signer>,
15051508
ES::Target: 'static + EntropySource,
15061509
CM::Target: AChannelManager,

lightning-block-sync/src/gossip.rs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ use bitcoin::transaction::{OutPoint, TxOut};
1212
use lightning::ln::peer_handler::APeerManager;
1313
use lightning::routing::gossip::{NetworkGraph, P2PGossipSync};
1414
use lightning::routing::utxo::{UtxoFuture, UtxoLookup, UtxoLookupError, UtxoResult};
15+
use lightning::util::async_poll::{MaybeSend, MaybeSync};
1516
use lightning::util::logger::Logger;
1617
use lightning::util::native_async::FutureSpawner;
1718

@@ -127,8 +128,8 @@ pub struct GossipVerifier<
127128
Blocks: Deref + Send + Sync + 'static + Clone,
128129
L: Deref + Send + Sync + 'static,
129130
> where
131+
L::Target: Logger + MaybeSend + MaybeSync,
130132
Blocks::Target: UtxoSource,
131-
L::Target: Logger,
132133
{
133134
source: Blocks,
134135
peer_manager_wake: Arc<dyn Fn() + Send + Sync>,
@@ -142,8 +143,8 @@ const BLOCK_CACHE_SIZE: usize = 5;
142143
impl<S: FutureSpawner, Blocks: Deref + Send + Sync + Clone, L: Deref + Send + Sync>
143144
GossipVerifier<S, Blocks, L>
144145
where
146+
L::Target: Logger + MaybeSend + MaybeSync,
145147
Blocks::Target: UtxoSource,
146-
L::Target: Logger,
147148
{
148149
/// Constructs a new [`GossipVerifier`].
149150
///
@@ -251,8 +252,8 @@ where
251252
impl<S: FutureSpawner, Blocks: Deref + Send + Sync + Clone, L: Deref + Send + Sync> Deref
252253
for GossipVerifier<S, Blocks, L>
253254
where
255+
L::Target: Logger + MaybeSend + MaybeSync,
254256
Blocks::Target: UtxoSource,
255-
L::Target: Logger,
256257
{
257258
type Target = Self;
258259
fn deref(&self) -> &Self {
@@ -263,8 +264,8 @@ where
263264
impl<S: FutureSpawner, Blocks: Deref + Send + Sync + Clone, L: Deref + Send + Sync> UtxoLookup
264265
for GossipVerifier<S, Blocks, L>
265266
where
267+
L::Target: Logger + MaybeSend + MaybeSync,
266268
Blocks::Target: UtxoSource,
267-
L::Target: Logger,
268269
{
269270
fn get_utxo(&self, _chain_hash: &ChainHash, short_channel_id: u64) -> UtxoResult {
270271
let res = UtxoFuture::new();

lightning-rapid-gossip-sync/src/lib.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ use core::sync::atomic::{AtomicBool, Ordering};
8787
use lightning::io;
8888
use lightning::ln::msgs::{DecodeError, LightningError};
8989
use lightning::routing::gossip::NetworkGraph;
90+
use lightning::util::async_poll::{MaybeSend, MaybeSync};
9091
use lightning::util::logger::Logger;
9192

9293
/// Core functionality of this crate
@@ -134,7 +135,7 @@ impl From<LightningError> for GraphSyncError {
134135
/// [crate-level documentation]: crate
135136
pub struct RapidGossipSync<NG: Deref<Target = NetworkGraph<L>>, L: Deref>
136137
where
137-
L::Target: Logger,
138+
L::Target: Logger + MaybeSend + MaybeSync,
138139
{
139140
network_graph: NG,
140141
logger: L,
@@ -143,7 +144,7 @@ where
143144

144145
impl<NG: Deref<Target = NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L>
145146
where
146-
L::Target: Logger,
147+
L::Target: Logger + MaybeSend + MaybeSync,
147148
{
148149
/// Instantiate a new [`RapidGossipSync`] instance.
149150
pub fn new(network_graph: NG, logger: L) -> Self {

lightning-rapid-gossip-sync/src/processing.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ use lightning::ln::msgs::{
1010
UnsignedNodeAnnouncement,
1111
};
1212
use lightning::routing::gossip::{NetworkGraph, NodeAlias, NodeId};
13+
use lightning::util::async_poll::{MaybeSend, MaybeSync};
1314
use lightning::util::logger::Logger;
1415
use lightning::util::ser::{BigSize, FixedLengthReader, Readable};
1516
use lightning::{log_debug, log_given_level, log_gossip, log_trace, log_warn};
@@ -39,7 +40,7 @@ const STALE_RGS_UPDATE_AGE_LIMIT_SECS: u64 = 60 * 60 * 24 * 14;
3940

4041
impl<NG: Deref<Target = NetworkGraph<L>>, L: Deref> RapidGossipSync<NG, L>
4142
where
42-
L::Target: Logger,
43+
L::Target: Logger + MaybeSend + MaybeSync,
4344
{
4445
#[cfg(feature = "std")]
4546
pub(crate) fn update_network_graph_from_byte_stream<R: io::Read>(

lightning/src/ln/channelmanager.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1953,7 +1953,7 @@ where
19531953
/// # fn read_channel_monitors() -> Vec<ChannelMonitor<lightning::sign::InMemorySigner>> { vec![] }
19541954
/// # fn example<
19551955
/// # 'a,
1956-
/// # L: lightning::util::logger::Logger,
1956+
/// # L: lightning::util::logger::Logger + Send + Sync,
19571957
/// # ES: lightning::sign::EntropySource,
19581958
/// # S: for <'b> lightning::routing::scoring::LockableScore<'b, ScoreLookUp = SL>,
19591959
/// # SL: lightning::routing::scoring::ScoreLookUp<ScoreParams = SP>,

lightning/src/onion_message/messenger.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ use crate::ln::onion_utils;
3838
use crate::routing::gossip::{NetworkGraph, NodeId, ReadOnlyNetworkGraph};
3939
use crate::sign::{EntropySource, NodeSigner, ReceiveAuthKey, Recipient};
4040
use crate::types::features::{InitFeatures, NodeFeatures};
41-
use crate::util::async_poll::{MultiResultFuturePoller, ResultFuture};
41+
use crate::util::async_poll::{MaybeSend, MaybeSync, MultiResultFuturePoller, ResultFuture};
4242
use crate::util::logger::{Logger, WithContext};
4343
use crate::util::ser::Writeable;
4444
use crate::util::wakers::{Future, Notifier};
@@ -548,7 +548,7 @@ pub trait MessageRouter {
548548
/// message, and thus an `Err` is returned.
549549
pub struct DefaultMessageRouter<G: Deref<Target = NetworkGraph<L>>, L: Deref, ES: Deref>
550550
where
551-
L::Target: Logger,
551+
L::Target: Logger + MaybeSend + MaybeSync,
552552
ES::Target: EntropySource,
553553
{
554554
network_graph: G,
@@ -565,7 +565,7 @@ pub(crate) const PADDED_PATH_LENGTH: usize = 4;
565565

566566
impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, ES: Deref> DefaultMessageRouter<G, L, ES>
567567
where
568-
L::Target: Logger,
568+
L::Target: Logger + MaybeSend + MaybeSync,
569569
ES::Target: EntropySource,
570570
{
571571
/// Creates a [`DefaultMessageRouter`] using the given [`NetworkGraph`].
@@ -719,7 +719,7 @@ where
719719
impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, ES: Deref> MessageRouter
720720
for DefaultMessageRouter<G, L, ES>
721721
where
722-
L::Target: Logger,
722+
L::Target: Logger + MaybeSend + MaybeSync,
723723
ES::Target: EntropySource,
724724
{
725725
fn find_path(
@@ -758,7 +758,7 @@ where
758758
/// message, and thus an `Err` is returned.
759759
pub struct NodeIdMessageRouter<G: Deref<Target = NetworkGraph<L>>, L: Deref, ES: Deref>
760760
where
761-
L::Target: Logger,
761+
L::Target: Logger + MaybeSend + MaybeSync,
762762
ES::Target: EntropySource,
763763
{
764764
network_graph: G,
@@ -767,7 +767,7 @@ where
767767

768768
impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, ES: Deref> NodeIdMessageRouter<G, L, ES>
769769
where
770-
L::Target: Logger,
770+
L::Target: Logger + MaybeSend + MaybeSync,
771771
ES::Target: EntropySource,
772772
{
773773
/// Creates a [`NodeIdMessageRouter`] using the given [`NetworkGraph`].
@@ -779,7 +779,7 @@ where
779779
impl<G: Deref<Target = NetworkGraph<L>>, L: Deref, ES: Deref> MessageRouter
780780
for NodeIdMessageRouter<G, L, ES>
781781
where
782-
L::Target: Logger,
782+
L::Target: Logger + MaybeSend + MaybeSync,
783783
ES::Target: EntropySource,
784784
{
785785
fn find_path(

lightning/src/routing/gossip.rs

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ use crate::types::string::PrintableString;
4040
use crate::util::indexed_map::{
4141
Entry as IndexedMapEntry, IndexedMap, OccupiedEntry as IndexedMapOccupiedEntry,
4242
};
43+
use crate::util::async_poll::{MaybeSend, MaybeSync};
4344
use crate::util::logger::{Level, Logger};
4445
use crate::util::scid_utils::{block_from_scid, scid_from_parts, MAX_SCID_BLOCK};
4546
use crate::util::ser::{MaybeReadable, Readable, ReadableArgs, RequiredWrapper, Writeable, Writer};
@@ -185,7 +186,7 @@ impl FromStr for NodeId {
185186
/// Represents the network as nodes and channels between them
186187
pub struct NetworkGraph<L: Deref>
187188
where
188-
L::Target: Logger,
189+
L::Target: Logger + MaybeSend + MaybeSync,
189190
{
190191
secp_ctx: Secp256k1<secp256k1::VerifyOnly>,
191192
last_rapid_gossip_sync_timestamp: Mutex<Option<u32>>,
@@ -323,8 +324,8 @@ impl MaybeReadable for NetworkUpdate {
323324
/// serving historical announcements.
324325
pub struct P2PGossipSync<G: Deref<Target = NetworkGraph<L>>, U: Deref, L: Deref>
325326
where
327+
L::Target: Logger + MaybeSend + MaybeSync,
326328
U::Target: UtxoLookup,
327-
L::Target: Logger,
328329
{
329330
network_graph: G,
330331
utxo_lookup: RwLock<Option<U>>,
@@ -335,8 +336,8 @@ where
335336

336337
impl<G: Deref<Target = NetworkGraph<L>>, U: Deref, L: Deref> P2PGossipSync<G, U, L>
337338
where
339+
L::Target: Logger + MaybeSend + MaybeSync,
338340
U::Target: UtxoLookup,
339-
L::Target: Logger,
340341
{
341342
/// Creates a new tracker of the actual state of the network of channels and nodes,
342343
/// assuming an existing [`NetworkGraph`].
@@ -416,7 +417,7 @@ where
416417

417418
impl<L: Deref> NetworkGraph<L>
418419
where
419-
L::Target: Logger,
420+
L::Target: Logger + MaybeSend + MaybeSync,
420421
{
421422
/// Handles any network updates originating from [`Event`]s.
422423
///
@@ -533,8 +534,8 @@ pub fn verify_channel_announcement<C: Verification>(
533534
impl<G: Deref<Target = NetworkGraph<L>>, U: Deref, L: Deref> RoutingMessageHandler
534535
for P2PGossipSync<G, U, L>
535536
where
537+
L::Target: Logger + MaybeSend + MaybeSync,
536538
U::Target: UtxoLookup,
537-
L::Target: Logger,
538539
{
539540
fn handle_node_announcement(
540541
&self, _their_node_id: Option<PublicKey>, msg: &msgs::NodeAnnouncement,
@@ -759,8 +760,8 @@ where
759760
impl<G: Deref<Target = NetworkGraph<L>>, U: Deref, L: Deref> BaseMessageHandler
760761
for P2PGossipSync<G, U, L>
761762
where
763+
L::Target: Logger + MaybeSend + MaybeSync,
762764
U::Target: UtxoLookup,
763-
L::Target: Logger,
764765
{
765766
/// Initiates a stateless sync of routing gossip information with a peer
766767
/// using [`gossip_queries`]. The default strategy used by this implementation
@@ -1631,7 +1632,7 @@ const MIN_SERIALIZATION_VERSION: u8 = 1;
16311632

16321633
impl<L: Deref> Writeable for NetworkGraph<L>
16331634
where
1634-
L::Target: Logger,
1635+
L::Target: Logger + MaybeSend + MaybeSync,
16351636
{
16361637
fn write<W: Writer>(&self, writer: &mut W) -> Result<(), io::Error> {
16371638
self.test_node_counter_consistency();
@@ -1662,7 +1663,7 @@ where
16621663

16631664
impl<L: Deref> ReadableArgs<L> for NetworkGraph<L>
16641665
where
1665-
L::Target: Logger,
1666+
L::Target: Logger + MaybeSend + MaybeSync,
16661667
{
16671668
fn read<R: io::Read>(reader: &mut R, logger: L) -> Result<NetworkGraph<L>, DecodeError> {
16681669
let _ver = read_ver_prefix!(reader, SERIALIZATION_VERSION);
@@ -1719,7 +1720,7 @@ where
17191720

17201721
impl<L: Deref> fmt::Display for NetworkGraph<L>
17211722
where
1722-
L::Target: Logger,
1723+
L::Target: Logger + MaybeSend + MaybeSync,
17231724
{
17241725
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
17251726
writeln!(f, "Network map\n[Channels]")?;
@@ -1734,10 +1735,13 @@ where
17341735
}
17351736
}
17361737

1737-
impl<L: Deref> Eq for NetworkGraph<L> where L::Target: Logger {}
1738+
impl<L: Deref> Eq for NetworkGraph<L>
1739+
where
1740+
L::Target: Logger + MaybeSend + MaybeSync,
1741+
{}
17381742
impl<L: Deref> PartialEq for NetworkGraph<L>
17391743
where
1740-
L::Target: Logger,
1744+
L::Target: Logger + MaybeSend + MaybeSync,
17411745
{
17421746
fn eq(&self, other: &Self) -> bool {
17431747
// For a total lockorder, sort by position in memory and take the inner locks in that order.
@@ -1768,7 +1772,7 @@ const NODE_COUNT_ESTIMATE: usize = 20_000;
17681772

17691773
impl<L: Deref> NetworkGraph<L>
17701774
where
1771-
L::Target: Logger,
1775+
L::Target: Logger + MaybeSend + MaybeSync,
17721776
{
17731777
/// Creates a new, empty, network graph.
17741778
pub fn new(network: Network, logger: L) -> NetworkGraph<L> {

0 commit comments

Comments
 (0)