@@ -1665,10 +1665,9 @@ where
1665
1665
1666
1666
/// Append a message to a peer's pending outbound/write buffer
1667
1667
fn enqueue_message < M : wire:: Type > ( & self , peer : & mut Peer , message : & M ) {
1668
- let their_node_id = peer. their_node_id . map ( |p| p. 0 ) ;
1669
- let logger = WithContext :: from ( & self . logger , their_node_id, None , None ) ;
1670
1668
// `unwrap` SAFETY: `their_node_id` is guaranteed to be `Some` after the handshake
1671
1669
let node_id = peer. their_node_id . unwrap ( ) . 0 ;
1670
+ let logger = WithContext :: from ( & self . logger , Some ( node_id) , None , None ) ;
1672
1671
if is_gossip_msg ( message. type_id ( ) ) {
1673
1672
log_gossip ! ( logger, "Enqueueing message {:?} to {}" , message, log_pubkey!( node_id) ) ;
1674
1673
} else {
@@ -1775,21 +1774,21 @@ where
1775
1774
1776
1775
macro_rules! insert_node_id {
1777
1776
( ) => {
1778
- let their_node_id = peer. their_node_id. map ( |p| p . 0 ) ;
1779
- let logger = WithContext :: from( & self . logger, their_node_id, None , None ) ;
1780
- match self . node_id_to_descriptor. lock( ) . unwrap( ) . entry( peer . their_node_id. unwrap ( ) . 0 ) {
1777
+ let their_node_id = peer. their_node_id. unwrap ( ) . 0 ;
1778
+ let logger = WithContext :: from( & self . logger, Some ( their_node_id) , None , None ) ;
1779
+ match self . node_id_to_descriptor. lock( ) . unwrap( ) . entry( their_node_id) {
1781
1780
hash_map:: Entry :: Occupied ( e) => {
1782
- log_trace!( logger, "Got second connection with {}, closing" , log_pubkey!( peer . their_node_id. unwrap ( ) . 0 ) ) ;
1781
+ log_trace!( logger, "Got second connection with {}, closing" , log_pubkey!( their_node_id) ) ;
1783
1782
// Unset `their_node_id` so that we don't generate a peer_disconnected event
1783
+ peer. their_node_id = None ;
1784
1784
// Check that the peers map is consistent with the
1785
1785
// node_id_to_descriptor map, as this has been broken
1786
1786
// before.
1787
- peer. their_node_id = None ;
1788
1787
debug_assert!( peers. get( e. get( ) ) . is_some( ) ) ;
1789
1788
return Err ( PeerHandleError { } )
1790
1789
} ,
1791
1790
hash_map:: Entry :: Vacant ( entry) => {
1792
- log_debug!( logger, "Finished noise handshake for connection with {}" , log_pubkey!( peer . their_node_id. unwrap ( ) . 0 ) ) ;
1791
+ log_debug!( logger, "Finished noise handshake for connection with {}" , log_pubkey!( their_node_id) ) ;
1793
1792
entry. insert( peer_descriptor. clone( ) )
1794
1793
} ,
1795
1794
} ;
@@ -2115,9 +2114,9 @@ where
2115
2114
peer_lock. sync_status = InitSyncTracker :: ChannelsSyncing ( 0 ) ;
2116
2115
}
2117
2116
2118
- let connection = peer_lock. inbound_connection ;
2117
+ let inbound = peer_lock. inbound_connection ;
2119
2118
let route_handler = & self . message_handler . route_handler ;
2120
- if let Err ( ( ) ) = route_handler. peer_connected ( their_node_id, & msg, connection ) {
2119
+ if let Err ( ( ) ) = route_handler. peer_connected ( their_node_id, & msg, inbound ) {
2121
2120
log_debug ! (
2122
2121
logger,
2123
2122
"Route Handler decided we couldn't communicate with peer {}" ,
@@ -2126,7 +2125,7 @@ where
2126
2125
return Err ( PeerHandleError { } . into ( ) ) ;
2127
2126
}
2128
2127
let chan_handler = & self . message_handler . chan_handler ;
2129
- if let Err ( ( ) ) = chan_handler. peer_connected ( their_node_id, & msg, connection ) {
2128
+ if let Err ( ( ) ) = chan_handler. peer_connected ( their_node_id, & msg, inbound ) {
2130
2129
log_debug ! (
2131
2130
logger,
2132
2131
"Channel Handler decided we couldn't communicate with peer {}" ,
@@ -2136,7 +2135,7 @@ where
2136
2135
return Err ( PeerHandleError { } . into ( ) ) ;
2137
2136
}
2138
2137
let onion_message_handler = & self . message_handler . onion_message_handler ;
2139
- if let Err ( ( ) ) = onion_message_handler. peer_connected ( their_node_id, & msg, connection ) {
2138
+ if let Err ( ( ) ) = onion_message_handler. peer_connected ( their_node_id, & msg, inbound ) {
2140
2139
log_debug ! (
2141
2140
logger,
2142
2141
"Onion Message Handler decided we couldn't communicate with peer {}" ,
@@ -2147,7 +2146,7 @@ where
2147
2146
return Err ( PeerHandleError { } . into ( ) ) ;
2148
2147
}
2149
2148
let custom_handler = & self . message_handler . custom_message_handler ;
2150
- if let Err ( ( ) ) = custom_handler. peer_connected ( their_node_id, & msg, connection ) {
2149
+ if let Err ( ( ) ) = custom_handler. peer_connected ( their_node_id, & msg, inbound ) {
2151
2150
log_debug ! (
2152
2151
logger,
2153
2152
"Custom Message Handler decided we couldn't communicate with peer {}" ,
@@ -3486,8 +3485,8 @@ where
3486
3485
debug_assert ! ( peer. channel_encryptor. is_ready_for_encryption( ) ) ;
3487
3486
debug_assert ! ( peer. their_node_id. is_some( ) ) ;
3488
3487
3488
+ // We use a loop as a `goto` to skip writing the Ping message:
3489
3489
loop {
3490
- // Used as a `goto` to skip writing a Ping message.
3491
3490
if peer. awaiting_pong_timer_tick_intervals == -1 {
3492
3491
// Magic value set in `maybe_send_extra_ping`.
3493
3492
peer. awaiting_pong_timer_tick_intervals = 1 ;
@@ -3820,20 +3819,7 @@ mod tests {
3820
3819
cfgs
3821
3820
}
3822
3821
3823
- fn create_network < ' a > (
3824
- peer_count : usize , cfgs : & ' a Vec < PeerManagerCfg > ,
3825
- ) -> Vec <
3826
- PeerManager <
3827
- FileDescriptor ,
3828
- & ' a test_utils:: TestChannelMessageHandler ,
3829
- & ' a test_utils:: TestRoutingMessageHandler ,
3830
- IgnoringMessageHandler ,
3831
- & ' a test_utils:: TestLogger ,
3832
- & ' a TestCustomMessageHandler ,
3833
- & ' a test_utils:: TestNodeSigner ,
3834
- IgnoringMessageHandler ,
3835
- > ,
3836
- > {
3822
+ fn create_network < ' a > ( peer_count : usize , cfgs : & ' a Vec < PeerManagerCfg > ) -> Vec < TestPeer < ' a > > {
3837
3823
let mut peers = Vec :: new ( ) ;
3838
3824
for i in 0 ..peer_count {
3839
3825
let ephemeral_bytes = [ i as u8 ; 32 ] ;
0 commit comments