@@ -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, 
@@ -659,9 +659,9 @@ where
659659			. get_node_id ( Recipient :: Node ) 
660660			. map_err ( |_| SendError :: GetNodeIdFailed ) ?; 
661661
662- 		let  peers = self . message_buffers . lock ( ) . unwrap ( ) 
662+ 		let  peers = self . message_recipients . lock ( ) . unwrap ( ) 
663663			. iter ( ) 
664- 			. filter ( |( _,  buffer ) | matches ! ( buffer ,   OnionMessageBuffer :: ConnectedPeer ( _) ) ) 
664+ 			. filter ( |( _,  recipient ) | matches ! ( recipient ,   OnionMessageRecipient :: ConnectedPeer ( _) ) ) 
665665			. map ( |( node_id,  _) | * node_id) 
666666			. collect ( ) ; 
667667
@@ -704,16 +704,16 @@ where
704704			& self . entropy_source ,  & self . node_signer ,  & self . secp_ctx ,  path,  contents,  reply_path
705705		) ?; 
706706
707- 		let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
708- 		if  outbound_buffer_full ( & first_node_id,  & message_buffers )  { 
707+ 		let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
708+ 		if  outbound_buffer_full ( & first_node_id,  & message_recipients )  { 
709709			return  Err ( SendError :: BufferFull ) ; 
710710		} 
711711
712- 		match  message_buffers . entry ( first_node_id)  { 
712+ 		match  message_recipients . entry ( first_node_id)  { 
713713			hash_map:: Entry :: Vacant ( e)  => match  addresses { 
714714				None  => Err ( SendError :: InvalidFirstHop ( first_node_id) ) , 
715715				Some ( addresses)  => { 
716- 					e. insert ( OnionMessageBuffer :: pending_connection ( addresses) ) 
716+ 					e. insert ( OnionMessageRecipient :: pending_connection ( addresses) ) 
717717						. enqueue_message ( onion_message) ; 
718718					Ok ( SendSuccess :: BufferedAwaitingConnection ( first_node_id) ) 
719719				} , 
@@ -744,18 +744,18 @@ where
744744
745745	#[ cfg( test) ]  
746746	pub ( super )  fn  release_pending_msgs ( & self )  -> HashMap < PublicKey ,  VecDeque < OnionMessage > >  { 
747- 		let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
747+ 		let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
748748		let  mut  msgs = HashMap :: new ( ) ; 
749749		// We don't want to disconnect the peers by removing them entirely from the original map, so we 
750750		// release the pending message buffers individually. 
751- 		for  ( peer_node_id ,  buffer )  in  & mut  * message_buffers  { 
752- 			msgs. insert ( * peer_node_id ,  buffer . release_pending_messages ( ) ) ; 
751+ 		for  ( node_id ,  recipient )  in  & mut  * message_recipients  { 
752+ 			msgs. insert ( * node_id ,  recipient . release_pending_messages ( ) ) ; 
753753		} 
754754		msgs
755755	} 
756756} 
757757
758- fn  outbound_buffer_full ( peer_node_id :  & PublicKey ,  buffer :  & HashMap < PublicKey ,  OnionMessageBuffer > )  -> bool  { 
758+ fn  outbound_buffer_full ( peer_node_id :  & PublicKey ,  buffer :  & HashMap < PublicKey ,  OnionMessageRecipient > )  -> bool  { 
759759	const  MAX_TOTAL_BUFFER_SIZE :  usize  = ( 1  << 20 )  *  128 ; 
760760	const  MAX_PER_PEER_BUFFER_SIZE :  usize  = ( 1  << 10 )  *  256 ; 
761761	let  mut  total_buffered_bytes = 0 ; 
@@ -789,8 +789,8 @@ where
789789	CMH :: Target :  CustomOnionMessageHandler , 
790790{ 
791791	fn  process_pending_events < H :  Deref > ( & self ,  handler :  H )  where  H :: Target :  EventHandler  { 
792- 		for  ( node_id,  recipient)  in  self . message_buffers . lock ( ) . unwrap ( ) . iter_mut ( )  { 
793- 			if  let  OnionMessageBuffer :: PendingConnection ( _,  addresses,  _)  = recipient { 
792+ 		for  ( node_id,  recipient)  in  self . message_recipients . lock ( ) . unwrap ( ) . iter_mut ( )  { 
793+ 			if  let  OnionMessageRecipient :: PendingConnection ( _,  addresses,  _)  = recipient { 
794794				if  let  Some ( addresses)  = addresses. take ( )  { 
795795					handler. handle_event ( Event :: ConnectionNeeded  {  node_id :  * node_id,  addresses } ) ; 
796796				} 
@@ -841,20 +841,20 @@ where
841841				} 
842842			} , 
843843			Ok ( PeeledOnion :: Forward ( next_node_id,  onion_message) )  => { 
844- 				let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
845- 				if  outbound_buffer_full ( & next_node_id,  & message_buffers )  { 
844+ 				let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
845+ 				if  outbound_buffer_full ( & next_node_id,  & message_recipients )  { 
846846					log_trace ! ( self . logger,  "Dropping forwarded onion message to peer {:?}: outbound buffer full" ,  next_node_id) ; 
847847					return 
848848				} 
849849
850850				#[ cfg( fuzzing) ]  
851- 				message_buffers 
851+ 				message_recipients 
852852					. entry ( next_node_id) 
853- 					. or_insert_with ( || OnionMessageBuffer :: ConnectedPeer ( VecDeque :: new ( ) ) ) ; 
853+ 					. or_insert_with ( || OnionMessageRecipient :: ConnectedPeer ( VecDeque :: new ( ) ) ) ; 
854854
855- 				match  message_buffers . entry ( next_node_id)  { 
855+ 				match  message_recipients . entry ( next_node_id)  { 
856856					hash_map:: Entry :: Occupied ( mut  e)  if  matches ! ( 
857- 						e. get( ) ,  OnionMessageBuffer :: ConnectedPeer ( ..) 
857+ 						e. get( ) ,  OnionMessageRecipient :: ConnectedPeer ( ..) 
858858					)  => { 
859859						e. get_mut ( ) . enqueue_message ( onion_message) ; 
860860						log_trace ! ( self . logger,  "Forwarding an onion message to peer {}" ,  next_node_id) ; 
@@ -873,39 +873,39 @@ where
873873
874874	fn  peer_connected ( & self ,  their_node_id :  & PublicKey ,  init :  & msgs:: Init ,  _inbound :  bool )  -> Result < ( ) ,  ( ) >  { 
875875		if  init. features . supports_onion_messages ( )  { 
876- 			self . message_buffers . lock ( ) . unwrap ( ) 
876+ 			self . message_recipients . lock ( ) . unwrap ( ) 
877877				. entry ( * their_node_id) 
878- 				. or_insert_with ( || OnionMessageBuffer :: ConnectedPeer ( VecDeque :: new ( ) ) ) 
878+ 				. or_insert_with ( || OnionMessageRecipient :: ConnectedPeer ( VecDeque :: new ( ) ) ) 
879879				. mark_connected ( ) ; 
880880		}  else  { 
881- 			self . message_buffers . lock ( ) . unwrap ( ) . remove ( their_node_id) ; 
881+ 			self . message_recipients . lock ( ) . unwrap ( ) . remove ( their_node_id) ; 
882882		} 
883883
884884		Ok ( ( ) ) 
885885	} 
886886
887887	fn  peer_disconnected ( & self ,  their_node_id :  & PublicKey )  { 
888- 		match  self . message_buffers . lock ( ) . unwrap ( ) . remove ( their_node_id)  { 
889- 			Some ( OnionMessageBuffer :: ConnectedPeer ( ..) )  => { } , 
888+ 		match  self . message_recipients . lock ( ) . unwrap ( ) . remove ( their_node_id)  { 
889+ 			Some ( OnionMessageRecipient :: ConnectedPeer ( ..) )  => { } , 
890890			_ => debug_assert ! ( false ) , 
891891		} 
892892	} 
893893
894894	fn  timer_tick_occurred ( & self )  { 
895- 		let  mut  message_buffers  = self . message_buffers . lock ( ) . unwrap ( ) ; 
895+ 		let  mut  message_recipients  = self . message_recipients . lock ( ) . unwrap ( ) ; 
896896
897897		// Drop any pending recipients since the last call to avoid retaining buffered messages for 
898898		// too long. 
899- 		message_buffers . retain ( |_,  recipient| match  recipient { 
900- 			OnionMessageBuffer :: PendingConnection ( _,  None ,  ticks)  => * ticks < MAX_TIMER_TICKS , 
901- 			OnionMessageBuffer :: PendingConnection ( _,  Some ( _) ,  _)  => true , 
899+ 		message_recipients . retain ( |_,  recipient| match  recipient { 
900+ 			OnionMessageRecipient :: PendingConnection ( _,  None ,  ticks)  => * ticks < MAX_TIMER_TICKS , 
901+ 			OnionMessageRecipient :: PendingConnection ( _,  Some ( _) ,  _)  => true , 
902902			_ => true , 
903903		} ) ; 
904904
905905		// Increment a timer tick for pending recipients so that their buffered messages are dropped 
906906		// at MAX_TIMER_TICKS. 
907- 		for  recipient in  message_buffers . values_mut ( )  { 
908- 			if  let  OnionMessageBuffer :: PendingConnection ( _,  None ,  ticks)  = recipient { 
907+ 		for  recipient in  message_recipients . values_mut ( )  { 
908+ 			if  let  OnionMessageRecipient :: PendingConnection ( _,  None ,  ticks)  = recipient { 
909909				* ticks += 1 ; 
910910			} 
911911		} 
@@ -949,7 +949,7 @@ where
949949			) ; 
950950		} 
951951
952- 		self . message_buffers . lock ( ) . unwrap ( ) 
952+ 		self . message_recipients . lock ( ) . unwrap ( ) 
953953			. get_mut ( & peer_node_id) 
954954			. and_then ( |buffer| buffer. dequeue_message ( ) ) 
955955	} 
0 commit comments