Skip to content

Commit 1a55615

Browse files
committed
Require Clone + Sync + Send + 'static for event and connection loggers
.. we should consider dropping `Deref` and instead just commiting to store a `Arc<L>` everwhere, as it gets tedious to maintain. However, this is barely scraping by and the least invasive change here.
1 parent 54e7641 commit 1a55615

File tree

2 files changed

+16
-11
lines changed

2 files changed

+16
-11
lines changed

src/connection.rs

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::logger::{log_error, log_info, FilesystemLogger, Logger};
1+
use crate::logger::{log_error, log_info, Logger};
22
use crate::types::PeerManager;
33
use crate::Error;
44

@@ -7,24 +7,29 @@ use lightning::ln::msgs::SocketAddress;
77
use bitcoin::secp256k1::PublicKey;
88

99
use std::net::ToSocketAddrs;
10+
use std::ops::Deref;
1011
use std::sync::Arc;
1112
use std::time::Duration;
1213

13-
pub(crate) async fn connect_peer_if_necessary(
14-
node_id: PublicKey, addr: SocketAddress, peer_manager: Arc<PeerManager>,
15-
logger: Arc<FilesystemLogger>,
16-
) -> Result<(), Error> {
14+
pub(crate) async fn connect_peer_if_necessary<L: Deref + Clone + Sync + Send>(
15+
node_id: PublicKey, addr: SocketAddress, peer_manager: Arc<PeerManager>, logger: L,
16+
) -> Result<(), Error>
17+
where
18+
L::Target: Logger,
19+
{
1720
if peer_manager.peer_by_node_id(&node_id).is_some() {
1821
return Ok(());
1922
}
2023

2124
do_connect_peer(node_id, addr, peer_manager, logger).await
2225
}
2326

24-
pub(crate) async fn do_connect_peer(
25-
node_id: PublicKey, addr: SocketAddress, peer_manager: Arc<PeerManager>,
26-
logger: Arc<FilesystemLogger>,
27-
) -> Result<(), Error> {
27+
pub(crate) async fn do_connect_peer<L: Deref + Clone + Sync + Send>(
28+
node_id: PublicKey, addr: SocketAddress, peer_manager: Arc<PeerManager>, logger: L,
29+
) -> Result<(), Error>
30+
where
31+
L::Target: Logger,
32+
{
2833
log_info!(logger, "Connecting to peer: {}@{}", node_id, addr);
2934

3035
let socket_addr = addr

src/event.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ impl Future for EventFuture {
288288
}
289289
}
290290

291-
pub(crate) struct EventHandler<L: Deref>
291+
pub(crate) struct EventHandler<L: Deref + Clone + Sync + Send + 'static>
292292
where
293293
L::Target: Logger,
294294
{
@@ -304,7 +304,7 @@ where
304304
config: Arc<Config>,
305305
}
306306

307-
impl<L: Deref> EventHandler<L>
307+
impl<L: Deref + Clone + Sync + Send + 'static> EventHandler<L>
308308
where
309309
L::Target: Logger,
310310
{

0 commit comments

Comments
 (0)