@@ -1094,20 +1094,19 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
10941094 macro_rules! get_peer_for_forwarding {
10951095 ( $node_id: expr) => {
10961096 {
1097- let descriptor = match peers. node_id_to_descriptor. get( $node_id) {
1098- Some ( descriptor) => descriptor. clone( ) ,
1097+ match peers. node_id_to_descriptor. get( $node_id) {
1098+ Some ( descriptor) => match peers. peers. get_mut( & descriptor) {
1099+ Some ( peer) => {
1100+ if peer. their_features. is_none( ) {
1101+ continue ;
1102+ }
1103+ peer
1104+ } ,
1105+ None => panic!( "Inconsistent peers set state!" ) ,
1106+ } ,
10991107 None => {
11001108 continue ;
11011109 } ,
1102- } ;
1103- match peers. peers. get_mut( & descriptor) {
1104- Some ( peer) => {
1105- if peer. their_features. is_none( ) {
1106- continue ;
1107- }
1108- ( descriptor, peer)
1109- } ,
1110- None => panic!( "Inconsistent peers set state!" ) ,
11111110 }
11121111 }
11131112 }
@@ -1117,14 +1116,14 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
11171116 log_trace ! ( self . logger, "Handling SendAcceptChannel event in peer_handler for node {} for channel {}" ,
11181117 log_pubkey!( node_id) ,
11191118 log_bytes!( msg. temporary_channel_id) ) ;
1120- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1119+ let peer = get_peer_for_forwarding ! ( node_id) ;
11211120 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11221121 } ,
11231122 MessageSendEvent :: SendOpenChannel { ref node_id, ref msg } => {
11241123 log_trace ! ( self . logger, "Handling SendOpenChannel event in peer_handler for node {} for channel {}" ,
11251124 log_pubkey!( node_id) ,
11261125 log_bytes!( msg. temporary_channel_id) ) ;
1127- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1126+ let peer = get_peer_for_forwarding ! ( node_id) ;
11281127 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11291128 } ,
11301129 MessageSendEvent :: SendFundingCreated { ref node_id, ref msg } => {
@@ -1134,28 +1133,28 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
11341133 log_funding_channel_id!( msg. funding_txid, msg. funding_output_index) ) ;
11351134 // TODO: If the peer is gone we should generate a DiscardFunding event
11361135 // indicating to the wallet that they should just throw away this funding transaction
1137- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1136+ let peer = get_peer_for_forwarding ! ( node_id) ;
11381137 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11391138 } ,
11401139 MessageSendEvent :: SendFundingSigned { ref node_id, ref msg } => {
11411140 log_trace ! ( self . logger, "Handling SendFundingSigned event in peer_handler for node {} for channel {}" ,
11421141 log_pubkey!( node_id) ,
11431142 log_bytes!( msg. channel_id) ) ;
1144- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1143+ let peer = get_peer_for_forwarding ! ( node_id) ;
11451144 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11461145 } ,
11471146 MessageSendEvent :: SendFundingLocked { ref node_id, ref msg } => {
11481147 log_trace ! ( self . logger, "Handling SendFundingLocked event in peer_handler for node {} for channel {}" ,
11491148 log_pubkey!( node_id) ,
11501149 log_bytes!( msg. channel_id) ) ;
1151- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1150+ let peer = get_peer_for_forwarding ! ( node_id) ;
11521151 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11531152 } ,
11541153 MessageSendEvent :: SendAnnouncementSignatures { ref node_id, ref msg } => {
11551154 log_trace ! ( self . logger, "Handling SendAnnouncementSignatures event in peer_handler for node {} for channel {})" ,
11561155 log_pubkey!( node_id) ,
11571156 log_bytes!( msg. channel_id) ) ;
1158- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1157+ let peer = get_peer_for_forwarding ! ( node_id) ;
11591158 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11601159 } ,
11611160 MessageSendEvent :: UpdateHTLCs { ref node_id, updates : msgs:: CommitmentUpdate { ref update_add_htlcs, ref update_fulfill_htlcs, ref update_fail_htlcs, ref update_fail_malformed_htlcs, ref update_fee, ref commitment_signed } } => {
@@ -1165,7 +1164,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
11651164 update_fulfill_htlcs. len( ) ,
11661165 update_fail_htlcs. len( ) ,
11671166 log_bytes!( commitment_signed. channel_id) ) ;
1168- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1167+ let peer = get_peer_for_forwarding ! ( node_id) ;
11691168 for msg in update_add_htlcs {
11701169 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11711170 }
@@ -1187,28 +1186,28 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
11871186 log_trace ! ( self . logger, "Handling SendRevokeAndACK event in peer_handler for node {} for channel {}" ,
11881187 log_pubkey!( node_id) ,
11891188 log_bytes!( msg. channel_id) ) ;
1190- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1189+ let peer = get_peer_for_forwarding ! ( node_id) ;
11911190 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11921191 } ,
11931192 MessageSendEvent :: SendClosingSigned { ref node_id, ref msg } => {
11941193 log_trace ! ( self . logger, "Handling SendClosingSigned event in peer_handler for node {} for channel {}" ,
11951194 log_pubkey!( node_id) ,
11961195 log_bytes!( msg. channel_id) ) ;
1197- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1196+ let peer = get_peer_for_forwarding ! ( node_id) ;
11981197 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
11991198 } ,
12001199 MessageSendEvent :: SendShutdown { ref node_id, ref msg } => {
12011200 log_trace ! ( self . logger, "Handling Shutdown event in peer_handler for node {} for channel {}" ,
12021201 log_pubkey!( node_id) ,
12031202 log_bytes!( msg. channel_id) ) ;
1204- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1203+ let peer = get_peer_for_forwarding ! ( node_id) ;
12051204 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
12061205 } ,
12071206 MessageSendEvent :: SendChannelReestablish { ref node_id, ref msg } => {
12081207 log_trace ! ( self . logger, "Handling SendChannelReestablish event in peer_handler for node {} for channel {}" ,
12091208 log_pubkey!( node_id) ,
12101209 log_bytes!( msg. channel_id) ) ;
1211- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1210+ let peer = get_peer_for_forwarding ! ( node_id) ;
12121211 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
12131212 } ,
12141213 MessageSendEvent :: BroadcastChannelAnnouncement { msg, update_msg } => {
@@ -1259,17 +1258,17 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
12591258 log_trace ! ( self . logger, "Handling SendErrorMessage HandleError event in peer_handler for node {} with message {}" ,
12601259 log_pubkey!( node_id) ,
12611260 msg. data) ;
1262- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1261+ let peer = get_peer_for_forwarding ! ( node_id) ;
12631262 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
12641263 } ,
12651264 }
12661265 } ,
12671266 MessageSendEvent :: SendChannelRangeQuery { ref node_id, ref msg } => {
1268- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1267+ let peer = get_peer_for_forwarding ! ( node_id) ;
12691268 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
12701269 } ,
12711270 MessageSendEvent :: SendShortIdsQuery { ref node_id, ref msg } => {
1272- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1271+ let peer = get_peer_for_forwarding ! ( node_id) ;
12731272 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
12741273 }
12751274 MessageSendEvent :: SendReplyChannelRange { ref node_id, ref msg } => {
@@ -1279,7 +1278,7 @@ impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, L: Deref> PeerManager<D
12791278 msg. first_blocknum,
12801279 msg. number_of_blocks,
12811280 msg. sync_complete) ;
1282- let ( _ , peer) = get_peer_for_forwarding ! ( node_id) ;
1281+ let peer = get_peer_for_forwarding ! ( node_id) ;
12831282 peer. pending_outbound_buffer . push_back ( peer. channel_encryptor . encrypt_message ( & encode_msg ! ( msg) ) ) ;
12841283 }
12851284 }
0 commit comments