@@ -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,
@@ -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