@@ -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.
169169 ConnectedPeer ( VecDeque < OnionMessage > ) ,
170170
@@ -173,31 +173,31 @@ enum OnionMessageBuffer {
173173 PendingConnection ( 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