@@ -156,15 +156,15 @@ where
156156	entropy_source :  ES , 
157157	node_signer :  NS , 
158158	logger :  L , 
159- 	message_buffers :  Mutex < HashMap < PublicKey ,  OnionMessageBuffer > > , 
159+ 	message_recipients :  Mutex < HashMap < PublicKey ,  OnionMessageRecipient > > , 
160160	secp_ctx :  Secp256k1 < secp256k1:: All > , 
161161	message_router :  MR , 
162162	offers_handler :  OMH , 
163163	custom_handler :  CMH , 
164164} 
165165
166166/// [`OnionMessage`]s buffered to be sent. 
167- enum  OnionMessageBuffer  { 
167+ enum  OnionMessageRecipient  { 
168168	/// Messages for a node connected as a peer. 
169169ConnectedPeer ( VecDeque < OnionMessage > ) , 
170170
@@ -173,31 +173,31 @@ enum OnionMessageBuffer {
173173PendingConnection ( VecDeque < OnionMessage > ,  Option < Vec < SocketAddress > > ,  usize ) , 
174174} 
175175
176- impl  OnionMessageBuffer  { 
176+ impl  OnionMessageRecipient  { 
177177	fn  pending_connection ( addresses :  Vec < SocketAddress > )  -> Self  { 
178178		Self :: PendingConnection ( VecDeque :: new ( ) ,  Some ( addresses) ,  0 ) 
179179	} 
180180
181181	fn  pending_messages ( & self )  -> & VecDeque < OnionMessage >  { 
182182		match  self  { 
183- 			OnionMessageBuffer :: ConnectedPeer ( pending_messages)  => pending_messages, 
184- 			OnionMessageBuffer :: PendingConnection ( pending_messages,  _,  _)  => pending_messages, 
183+ 			OnionMessageRecipient :: ConnectedPeer ( pending_messages)  => pending_messages, 
184+ 			OnionMessageRecipient :: PendingConnection ( pending_messages,  _,  _)  => pending_messages, 
185185		} 
186186	} 
187187
188188	fn  enqueue_message ( & mut  self ,  message :  OnionMessage )  { 
189189		let  pending_messages = match  self  { 
190- 			OnionMessageBuffer :: ConnectedPeer ( pending_messages)  => pending_messages, 
191- 			OnionMessageBuffer :: PendingConnection ( pending_messages,  _,  _)  => pending_messages, 
190+ 			OnionMessageRecipient :: ConnectedPeer ( pending_messages)  => pending_messages, 
191+ 			OnionMessageRecipient :: PendingConnection ( pending_messages,  _,  _)  => pending_messages, 
192192		} ; 
193193
194194		pending_messages. push_back ( message) ; 
195195	} 
196196
197197	fn  dequeue_message ( & mut  self )  -> Option < OnionMessage >  { 
198198		let  pending_messages = match  self  { 
199- 			OnionMessageBuffer :: ConnectedPeer ( pending_messages)  => pending_messages, 
200- 			OnionMessageBuffer :: PendingConnection ( pending_messages,  _,  _)  => { 
199+ 			OnionMessageRecipient :: ConnectedPeer ( pending_messages)  => pending_messages, 
200+ 			OnionMessageRecipient :: PendingConnection ( pending_messages,  _,  _)  => { 
201201				debug_assert ! ( false ) ; 
202202				pending_messages
203203			} , 
@@ -209,18 +209,18 @@ impl OnionMessageBuffer {
209209	#[ cfg( test) ]  
210210	fn  release_pending_messages ( & mut  self )  -> VecDeque < OnionMessage >  { 
211211		let  pending_messages = match  self  { 
212- 			OnionMessageBuffer :: ConnectedPeer ( pending_messages)  => pending_messages, 
213- 			OnionMessageBuffer :: PendingConnection ( pending_messages,  _,  _)  => pending_messages, 
212+ 			OnionMessageRecipient :: ConnectedPeer ( pending_messages)  => pending_messages, 
213+ 			OnionMessageRecipient :: PendingConnection ( pending_messages,  _,  _)  => pending_messages, 
214214		} ; 
215215
216216		core:: mem:: take ( pending_messages) 
217217	} 
218218
219219	fn  mark_connected ( & mut  self )  { 
220- 		if  let  OnionMessageBuffer :: PendingConnection ( pending_messages,  _,  _)  = self  { 
220+ 		if  let  OnionMessageRecipient :: PendingConnection ( pending_messages,  _,  _)  = self  { 
221221			let  mut  new_pending_messages = VecDeque :: new ( ) ; 
222222			core:: mem:: swap ( pending_messages,  & mut  new_pending_messages) ; 
223- 			* self  = OnionMessageBuffer :: ConnectedPeer ( new_pending_messages) ; 
223+ 			* self  = OnionMessageRecipient :: ConnectedPeer ( new_pending_messages) ; 
224224		} 
225225	} 
226226} 
@@ -631,7 +631,7 @@ where
631631		OnionMessenger  { 
632632			entropy_source, 
633633			node_signer, 
634- 			message_buffers :  Mutex :: new ( HashMap :: new ( ) ) , 
634+ 			message_recipients :  Mutex :: new ( HashMap :: new ( ) ) , 
635635			secp_ctx, 
636636			logger, 
637637			message_router, 
@@ -687,9 +687,9 @@ where
687687			. get_node_id ( Recipient :: Node ) 
688688			. map_err ( |_| SendError :: GetNodeIdFailed ) ?; 
689689
690- 		let  peers = self . message_buffers . lock ( ) . unwrap ( ) 
690+ 		let  peers = self . message_recipients . lock ( ) . unwrap ( ) 
691691			. iter ( ) 
692- 			. filter ( |( _,  buffer ) | matches ! ( buffer ,   OnionMessageBuffer :: ConnectedPeer ( _) ) ) 
692+ 			. filter ( |( _,  recipient ) | matches ! ( recipient ,   OnionMessageRecipient :: ConnectedPeer ( _) ) ) 
693693			. map ( |( node_id,  _) | * node_id) 
694694			. collect ( ) ; 
695695
@@ -708,16 +708,16 @@ where
708708			& self . entropy_source ,  & self . node_signer ,  & self . secp_ctx ,  path,  contents,  reply_path
709709		) ?; 
710710
711- 		let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
712- 		if  outbound_buffer_full ( & first_node_id,  & message_buffers )  { 
711+ 		let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
712+ 		if  outbound_buffer_full ( & first_node_id,  & message_recipients )  { 
713713			return  Err ( SendError :: BufferFull ) ; 
714714		} 
715715
716- 		match  message_buffers . entry ( first_node_id)  { 
716+ 		match  message_recipients . entry ( first_node_id)  { 
717717			hash_map:: Entry :: Vacant ( e)  => match  addresses { 
718718				None  => Err ( SendError :: InvalidFirstHop ( first_node_id) ) , 
719719				Some ( addresses)  => { 
720- 					e. insert ( OnionMessageBuffer :: pending_connection ( addresses) ) 
720+ 					e. insert ( OnionMessageRecipient :: pending_connection ( addresses) ) 
721721						. enqueue_message ( onion_message) ; 
722722					Ok ( SendSuccess :: BufferedAwaitingConnection ( first_node_id) ) 
723723				} , 
@@ -755,18 +755,18 @@ where
755755
756756	#[ cfg( test) ]  
757757	pub ( super )  fn  release_pending_msgs ( & self )  -> HashMap < PublicKey ,  VecDeque < OnionMessage > >  { 
758- 		let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
758+ 		let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
759759		let  mut  msgs = HashMap :: new ( ) ; 
760760		// We don't want to disconnect the peers by removing them entirely from the original map, so we 
761761		// release the pending message buffers individually. 
762- 		for  ( peer_node_id ,  buffer )  in  & mut  * message_buffers  { 
763- 			msgs. insert ( * peer_node_id ,  buffer . release_pending_messages ( ) ) ; 
762+ 		for  ( node_id ,  recipient )  in  & mut  * message_recipients  { 
763+ 			msgs. insert ( * node_id ,  recipient . release_pending_messages ( ) ) ; 
764764		} 
765765		msgs
766766	} 
767767} 
768768
769- fn  outbound_buffer_full ( peer_node_id :  & PublicKey ,  buffer :  & HashMap < PublicKey ,  OnionMessageBuffer > )  -> bool  { 
769+ fn  outbound_buffer_full ( peer_node_id :  & PublicKey ,  buffer :  & HashMap < PublicKey ,  OnionMessageRecipient > )  -> bool  { 
770770	const  MAX_TOTAL_BUFFER_SIZE :  usize  = ( 1  << 20 )  *  128 ; 
771771	const  MAX_PER_PEER_BUFFER_SIZE :  usize  = ( 1  << 10 )  *  256 ; 
772772	let  mut  total_buffered_bytes = 0 ; 
@@ -800,8 +800,8 @@ where
800800	CMH :: Target :  CustomOnionMessageHandler , 
801801{ 
802802	fn  process_pending_events < H :  Deref > ( & self ,  handler :  H )  where  H :: Target :  EventHandler  { 
803- 		for  ( node_id,  recipient)  in  self . message_buffers . lock ( ) . unwrap ( ) . iter_mut ( )  { 
804- 			if  let  OnionMessageBuffer :: PendingConnection ( _,  addresses,  _)  = recipient { 
803+ 		for  ( node_id,  recipient)  in  self . message_recipients . lock ( ) . unwrap ( ) . iter_mut ( )  { 
804+ 			if  let  OnionMessageRecipient :: PendingConnection ( _,  addresses,  _)  = recipient { 
805805				if  let  Some ( addresses)  = addresses. take ( )  { 
806806					handler. handle_event ( Event :: ConnectionNeeded  {  node_id :  * node_id,  addresses } ) ; 
807807				} 
@@ -852,20 +852,20 @@ where
852852				} 
853853			} , 
854854			Ok ( PeeledOnion :: Forward ( next_node_id,  onion_message) )  => { 
855- 				let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
856- 				if  outbound_buffer_full ( & next_node_id,  & message_buffers )  { 
855+ 				let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
856+ 				if  outbound_buffer_full ( & next_node_id,  & message_recipients )  { 
857857					log_trace ! ( self . logger,  "Dropping forwarded onion message to peer {:?}: outbound buffer full" ,  next_node_id) ; 
858858					return 
859859				} 
860860
861861				#[ cfg( fuzzing) ]  
862- 				message_buffers 
862+ 				message_recipients 
863863					. entry ( next_node_id) 
864- 					. or_insert_with ( || OnionMessageBuffer :: ConnectedPeer ( VecDeque :: new ( ) ) ) ; 
864+ 					. or_insert_with ( || OnionMessageRecipient :: ConnectedPeer ( VecDeque :: new ( ) ) ) ; 
865865
866- 				match  message_buffers . entry ( next_node_id)  { 
866+ 				match  message_recipients . entry ( next_node_id)  { 
867867					hash_map:: Entry :: Occupied ( mut  e)  if  matches ! ( 
868- 						e. get( ) ,  OnionMessageBuffer :: ConnectedPeer ( ..) 
868+ 						e. get( ) ,  OnionMessageRecipient :: ConnectedPeer ( ..) 
869869					)  => { 
870870						e. get_mut ( ) . enqueue_message ( onion_message) ; 
871871						log_trace ! ( self . logger,  "Forwarding an onion message to peer {}" ,  next_node_id) ; 
@@ -884,39 +884,39 @@ where
884884
885885	fn  peer_connected ( & self ,  their_node_id :  & PublicKey ,  init :  & msgs:: Init ,  _inbound :  bool )  -> Result < ( ) ,  ( ) >  { 
886886		if  init. features . supports_onion_messages ( )  { 
887- 			self . message_buffers . lock ( ) . unwrap ( ) 
887+ 			self . message_recipients . lock ( ) . unwrap ( ) 
888888				. entry ( * their_node_id) 
889- 				. or_insert_with ( || OnionMessageBuffer :: ConnectedPeer ( VecDeque :: new ( ) ) ) 
889+ 				. or_insert_with ( || OnionMessageRecipient :: ConnectedPeer ( VecDeque :: new ( ) ) ) 
890890				. mark_connected ( ) ; 
891891		}  else  { 
892- 			self . message_buffers . lock ( ) . unwrap ( ) . remove ( their_node_id) ; 
892+ 			self . message_recipients . lock ( ) . unwrap ( ) . remove ( their_node_id) ; 
893893		} 
894894
895895		Ok ( ( ) ) 
896896	} 
897897
898898	fn  peer_disconnected ( & self ,  their_node_id :  & PublicKey )  { 
899- 		match  self . message_buffers . lock ( ) . unwrap ( ) . remove ( their_node_id)  { 
900- 			Some ( OnionMessageBuffer :: ConnectedPeer ( ..) )  => { } , 
899+ 		match  self . message_recipients . lock ( ) . unwrap ( ) . remove ( their_node_id)  { 
900+ 			Some ( OnionMessageRecipient :: ConnectedPeer ( ..) )  => { } , 
901901			_ => debug_assert ! ( false ) , 
902902		} 
903903	} 
904904
905905	fn  timer_tick_occurred ( & self )  { 
906- 		let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
906+ 		let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
907907
908908		// Drop any pending recipients since the last call to avoid retaining buffered messages for 
909909		// too long. 
910- 		message_buffers . retain ( |_,  recipient| match  recipient { 
911- 			OnionMessageBuffer :: PendingConnection ( _,  None ,  ticks)  => * ticks < MAX_TIMER_TICKS , 
912- 			OnionMessageBuffer :: PendingConnection ( _,  Some ( _) ,  _)  => true , 
910+ 		message_recipients . retain ( |_,  recipient| match  recipient { 
911+ 			OnionMessageRecipient :: PendingConnection ( _,  None ,  ticks)  => * ticks < MAX_TIMER_TICKS , 
912+ 			OnionMessageRecipient :: PendingConnection ( _,  Some ( _) ,  _)  => true , 
913913			_ => true , 
914914		} ) ; 
915915
916916		// Increment a timer tick for pending recipients so that their buffered messages are dropped 
917917		// at MAX_TIMER_TICKS. 
918- 		for  recipient in  message_buffers . values_mut ( )  { 
919- 			if  let  OnionMessageBuffer :: PendingConnection ( _,  None ,  ticks)  = recipient { 
918+ 		for  recipient in  message_recipients . values_mut ( )  { 
919+ 			if  let  OnionMessageRecipient :: PendingConnection ( _,  None ,  ticks)  = recipient { 
920920				* ticks += 1 ; 
921921			} 
922922		} 
@@ -960,7 +960,7 @@ where
960960			) ; 
961961		} 
962962
963- 		self . message_buffers . lock ( ) . unwrap ( ) 
963+ 		self . message_recipients . lock ( ) . unwrap ( ) 
964964			. get_mut ( & peer_node_id) 
965965			. and_then ( |buffer| buffer. dequeue_message ( ) ) 
966966	} 
0 commit comments