@@ -218,11 +218,6 @@ impl CustomOnionMessageContents for Infallible {
218
218
fn tlv_type ( & self ) -> u64 { unreachable ! ( ) ; }
219
219
}
220
220
221
- impl Deref for IgnoringMessageHandler {
222
- type Target = IgnoringMessageHandler ;
223
- fn deref ( & self ) -> & Self { self }
224
- }
225
-
226
221
// Implement Type for Infallible, note that it cannot be constructed, and thus you can never call a
227
222
// method that takes self for it.
228
223
impl wire:: Type for Infallible {
@@ -599,7 +594,7 @@ impl Peer {
599
594
/// issues such as overly long function definitions.
600
595
///
601
596
/// (C-not exported) as `Arc`s don't make sense in bindings.
602
- pub type SimpleArcPeerManager < SD , M , T , F , C , L > = PeerManager < SD , Arc < SimpleArcChannelManager < M , T , F , L > > , Arc < P2PGossipSync < Arc < NetworkGraph < Arc < L > > > , Arc < C > , Arc < L > > > , Arc < SimpleArcOnionMessenger < L > > , Arc < L > , IgnoringMessageHandler > ;
597
+ pub type SimpleArcPeerManager < SD , M , T , F , C , L > = PeerManager < SD , Arc < SimpleArcChannelManager < M , T , F , L > > , Arc < P2PGossipSync < Arc < NetworkGraph < Arc < L > > > , Arc < C > , Arc < L > > > , Arc < SimpleArcOnionMessenger < L > > , Arc < L > , Arc < IgnoringMessageHandler > > ;
603
598
604
599
/// SimpleRefPeerManager is a type alias for a PeerManager reference, and is the reference
605
600
/// counterpart to the SimpleArcPeerManager type alias. Use this type by default when you don't
@@ -609,7 +604,7 @@ pub type SimpleArcPeerManager<SD, M, T, F, C, L> = PeerManager<SD, Arc<SimpleArc
609
604
/// helps with issues such as long function definitions.
610
605
///
611
606
/// (C-not exported) as general type aliases don't make sense in bindings.
612
- pub type SimpleRefPeerManager < ' a , ' b , ' c , ' d , ' e , ' f , ' g , ' h , ' i , ' j , ' k , SD , M , T , F , C , L > = PeerManager < SD , SimpleRefChannelManager < ' a , ' b , ' c , ' d , ' e , M , T , F , L > , & ' e P2PGossipSync < & ' g NetworkGraph < & ' f L > , & ' h C , & ' f L > , & ' i SimpleRefOnionMessenger < ' j , ' k , L > , & ' f L , IgnoringMessageHandler > ;
607
+ pub type SimpleRefPeerManager < ' a , ' b , ' c , ' d , ' e , ' f , ' g , ' h , ' i , ' j , ' k , SD , M , T , F , C , L > = PeerManager < SD , SimpleRefChannelManager < ' a , ' b , ' c , ' d , ' e , M , T , F , L > , & ' e P2PGossipSync < & ' g NetworkGraph < & ' f L > , & ' h C , & ' f L > , & ' i SimpleRefOnionMessenger < ' j , ' k , L > , & ' f L , Arc < IgnoringMessageHandler > > ;
613
608
614
609
/// A PeerManager manages a set of peers, described by their [`SocketDescriptor`] and marshalls
615
610
/// socket events into messages which it passes on to its [`MessageHandler`].
@@ -700,7 +695,7 @@ macro_rules! encode_msg {
700
695
} }
701
696
}
702
697
703
- impl < Descriptor : SocketDescriptor , CM : Deref , OM : Deref , L : Deref > PeerManager < Descriptor , CM , IgnoringMessageHandler , OM , L , IgnoringMessageHandler > where
698
+ impl < Descriptor : SocketDescriptor , CM : Deref , OM : Deref , L : Deref > PeerManager < Descriptor , CM , Arc < IgnoringMessageHandler > , OM , L , Arc < IgnoringMessageHandler > > where
704
699
CM :: Target : ChannelMessageHandler ,
705
700
OM :: Target : OnionMessageHandler ,
706
701
L :: Target : Logger {
@@ -720,13 +715,13 @@ impl<Descriptor: SocketDescriptor, CM: Deref, OM: Deref, L: Deref> PeerManager<D
720
715
pub fn new_channel_only ( channel_message_handler : CM , onion_message_handler : OM , our_node_secret : SecretKey , current_time : u32 , ephemeral_random_data : & [ u8 ; 32 ] , logger : L ) -> Self {
721
716
Self :: new ( MessageHandler {
722
717
chan_handler : channel_message_handler,
723
- route_handler : IgnoringMessageHandler { } ,
718
+ route_handler : Arc :: new ( IgnoringMessageHandler { } ) ,
724
719
onion_message_handler,
725
- } , our_node_secret, current_time, ephemeral_random_data, logger, IgnoringMessageHandler { } )
720
+ } , our_node_secret, current_time, ephemeral_random_data, logger, Arc :: new ( IgnoringMessageHandler { } ) )
726
721
}
727
722
}
728
723
729
- impl < Descriptor : SocketDescriptor , RM : Deref , L : Deref > PeerManager < Descriptor , ErroringMessageHandler , RM , IgnoringMessageHandler , L , IgnoringMessageHandler > where
724
+ impl < Descriptor : SocketDescriptor , RM : Deref , L : Deref > PeerManager < Descriptor , ErroringMessageHandler , RM , Arc < IgnoringMessageHandler > , L , Arc < IgnoringMessageHandler > > where
730
725
RM :: Target : RoutingMessageHandler ,
731
726
L :: Target : Logger {
732
727
/// Constructs a new `PeerManager` with the given `RoutingMessageHandler`. No channel message
@@ -747,8 +742,8 @@ impl<Descriptor: SocketDescriptor, RM: Deref, L: Deref> PeerManager<Descriptor,
747
742
Self :: new ( MessageHandler {
748
743
chan_handler : ErroringMessageHandler :: new ( ) ,
749
744
route_handler : routing_message_handler,
750
- onion_message_handler : IgnoringMessageHandler { } ,
751
- } , our_node_secret, current_time, ephemeral_random_data, logger, IgnoringMessageHandler { } )
745
+ onion_message_handler : Arc :: new ( IgnoringMessageHandler { } ) ,
746
+ } , our_node_secret, current_time, ephemeral_random_data, logger, Arc :: new ( IgnoringMessageHandler { } ) )
752
747
}
753
748
}
754
749
@@ -2219,20 +2214,20 @@ mod tests {
2219
2214
cfgs
2220
2215
}
2221
2216
2222
- fn create_network < ' a > ( peer_count : usize , cfgs : & ' a Vec < PeerManagerCfg > ) -> Vec < PeerManager < FileDescriptor , & ' a test_utils:: TestChannelMessageHandler , & ' a test_utils:: TestRoutingMessageHandler , IgnoringMessageHandler , & ' a test_utils:: TestLogger , IgnoringMessageHandler > > {
2217
+ fn create_network < ' a > ( peer_count : usize , cfgs : & ' a Vec < PeerManagerCfg > ) -> Vec < PeerManager < FileDescriptor , & ' a test_utils:: TestChannelMessageHandler , & ' a test_utils:: TestRoutingMessageHandler , Arc < IgnoringMessageHandler > , & ' a test_utils:: TestLogger , Arc < IgnoringMessageHandler > > > {
2223
2218
let mut peers = Vec :: new ( ) ;
2224
2219
for i in 0 ..peer_count {
2225
2220
let node_secret = SecretKey :: from_slice ( & [ 42 + i as u8 ; 32 ] ) . unwrap ( ) ;
2226
2221
let ephemeral_bytes = [ i as u8 ; 32 ] ;
2227
- let msg_handler = MessageHandler { chan_handler : & cfgs[ i] . chan_handler , route_handler : & cfgs[ i] . routing_handler , onion_message_handler : IgnoringMessageHandler { } } ;
2228
- let peer = PeerManager :: new ( msg_handler, node_secret, 0 , & ephemeral_bytes, & cfgs[ i] . logger , IgnoringMessageHandler { } ) ;
2222
+ let msg_handler = MessageHandler { chan_handler : & cfgs[ i] . chan_handler , route_handler : & cfgs[ i] . routing_handler , onion_message_handler : Arc :: new ( IgnoringMessageHandler { } ) } ;
2223
+ let peer = PeerManager :: new ( msg_handler, node_secret, 0 , & ephemeral_bytes, & cfgs[ i] . logger , Arc :: new ( IgnoringMessageHandler { } ) ) ;
2229
2224
peers. push ( peer) ;
2230
2225
}
2231
2226
2232
2227
peers
2233
2228
}
2234
2229
2235
- fn establish_connection < ' a > ( peer_a : & PeerManager < FileDescriptor , & ' a test_utils:: TestChannelMessageHandler , & ' a test_utils:: TestRoutingMessageHandler , IgnoringMessageHandler , & ' a test_utils:: TestLogger , IgnoringMessageHandler > , peer_b : & PeerManager < FileDescriptor , & ' a test_utils:: TestChannelMessageHandler , & ' a test_utils:: TestRoutingMessageHandler , IgnoringMessageHandler , & ' a test_utils:: TestLogger , IgnoringMessageHandler > ) -> ( FileDescriptor , FileDescriptor ) {
2230
+ fn establish_connection < ' a > ( peer_a : & PeerManager < FileDescriptor , & ' a test_utils:: TestChannelMessageHandler , & ' a test_utils:: TestRoutingMessageHandler , Arc < IgnoringMessageHandler > , & ' a test_utils:: TestLogger , Arc < IgnoringMessageHandler > > , peer_b : & PeerManager < FileDescriptor , & ' a test_utils:: TestChannelMessageHandler , & ' a test_utils:: TestRoutingMessageHandler , Arc < IgnoringMessageHandler > , & ' a test_utils:: TestLogger , Arc < IgnoringMessageHandler > > ) -> ( FileDescriptor , FileDescriptor ) {
2236
2231
let secp_ctx = Secp256k1 :: new ( ) ;
2237
2232
let a_id = PublicKey :: from_secret_key ( & secp_ctx, & peer_a. our_node_secret ) ;
2238
2233
let mut fd_a = FileDescriptor { fd : 1 , outbound_data : Arc :: new ( Mutex :: new ( Vec :: new ( ) ) ) } ;
0 commit comments