@@ -83,7 +83,7 @@ use tokio::io::{AsyncReadExt, AsyncWrite, AsyncWriteExt};
8383use lightning:: ln:: peer_handler;
8484use lightning:: ln:: peer_handler:: SocketDescriptor as LnSocketTrait ;
8585use lightning:: ln:: peer_handler:: CustomMessageHandler ;
86- use lightning:: ln:: msgs:: { ChannelMessageHandler , RoutingMessageHandler , NetAddress } ;
86+ use lightning:: ln:: msgs:: { ChannelMessageHandler , NetAddress , OnionMessageHandler , RoutingMessageHandler } ;
8787use lightning:: util:: logger:: Logger ;
8888
8989use std:: ops:: Deref ;
@@ -123,13 +123,15 @@ struct Connection {
123123 id : u64 ,
124124}
125125impl Connection {
126- async fn poll_event_process < CMH , RMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , L , UMH > > , mut event_receiver : mpsc:: Receiver < ( ) > ) where
126+ async fn poll_event_process < CMH , RMH , OMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , OMH , L , UMH > > , mut event_receiver : mpsc:: Receiver < ( ) > ) where
127127 CMH : Deref + ' static + Send + Sync ,
128128 RMH : Deref + ' static + Send + Sync ,
129+ OMH : Deref + ' static + Send + Sync ,
129130 L : Deref + ' static + Send + Sync ,
130131 UMH : Deref + ' static + Send + Sync ,
131132 CMH :: Target : ChannelMessageHandler + Send + Sync ,
132133 RMH :: Target : RoutingMessageHandler + Send + Sync ,
134+ OMH :: Target : OnionMessageHandler + Send + Sync ,
133135 L :: Target : Logger + Send + Sync ,
134136 UMH :: Target : CustomMessageHandler + Send + Sync ,
135137 {
@@ -141,13 +143,15 @@ impl Connection {
141143 }
142144 }
143145
144- async fn schedule_read < CMH , RMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , L , UMH > > , us : Arc < Mutex < Self > > , mut reader : io:: ReadHalf < TcpStream > , mut read_wake_receiver : mpsc:: Receiver < ( ) > , mut write_avail_receiver : mpsc:: Receiver < ( ) > ) where
146+ async fn schedule_read < CMH , RMH , OMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , OMH , L , UMH > > , us : Arc < Mutex < Self > > , mut reader : io:: ReadHalf < TcpStream > , mut read_wake_receiver : mpsc:: Receiver < ( ) > , mut write_avail_receiver : mpsc:: Receiver < ( ) > ) where
145147 CMH : Deref + ' static + Send + Sync ,
146148 RMH : Deref + ' static + Send + Sync ,
149+ OMH : Deref + ' static + Send + Sync ,
147150 L : Deref + ' static + Send + Sync ,
148151 UMH : Deref + ' static + Send + Sync ,
149152 CMH :: Target : ChannelMessageHandler + ' static + Send + Sync ,
150153 RMH :: Target : RoutingMessageHandler + ' static + Send + Sync ,
154+ OMH :: Target : OnionMessageHandler + ' static + Send + Sync ,
151155 L :: Target : Logger + ' static + Send + Sync ,
152156 UMH :: Target : CustomMessageHandler + ' static + Send + Sync ,
153157 {
@@ -268,13 +272,15 @@ fn get_addr_from_stream(stream: &StdTcpStream) -> Option<NetAddress> {
268272/// The returned future will complete when the peer is disconnected and associated handling
269273/// futures are freed, though, because all processing futures are spawned with tokio::spawn, you do
270274/// not need to poll the provided future in order to make progress.
271- pub fn setup_inbound < CMH , RMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , L , UMH > > , stream : StdTcpStream ) -> impl std:: future:: Future < Output =( ) > where
275+ pub fn setup_inbound < CMH , RMH , OMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , OMH , L , UMH > > , stream : StdTcpStream ) -> impl std:: future:: Future < Output =( ) > where
272276 CMH : Deref + ' static + Send + Sync ,
273277 RMH : Deref + ' static + Send + Sync ,
278+ OMH : Deref + ' static + Send + Sync ,
274279 L : Deref + ' static + Send + Sync ,
275280 UMH : Deref + ' static + Send + Sync ,
276281 CMH :: Target : ChannelMessageHandler + Send + Sync ,
277282 RMH :: Target : RoutingMessageHandler + Send + Sync ,
283+ OMH :: Target : OnionMessageHandler + Send + Sync ,
278284 L :: Target : Logger + Send + Sync ,
279285 UMH :: Target : CustomMessageHandler + Send + Sync ,
280286{
@@ -315,13 +321,15 @@ pub fn setup_inbound<CMH, RMH, L, UMH>(peer_manager: Arc<peer_handler::PeerManag
315321/// The returned future will complete when the peer is disconnected and associated handling
316322/// futures are freed, though, because all processing futures are spawned with tokio::spawn, you do
317323/// not need to poll the provided future in order to make progress.
318- pub fn setup_outbound < CMH , RMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , L , UMH > > , their_node_id : PublicKey , stream : StdTcpStream ) -> impl std:: future:: Future < Output =( ) > where
324+ pub fn setup_outbound < CMH , RMH , OMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , OMH , L , UMH > > , their_node_id : PublicKey , stream : StdTcpStream ) -> impl std:: future:: Future < Output =( ) > where
319325 CMH : Deref + ' static + Send + Sync ,
320326 RMH : Deref + ' static + Send + Sync ,
327+ OMH : Deref + ' static + Send + Sync ,
321328 L : Deref + ' static + Send + Sync ,
322329 UMH : Deref + ' static + Send + Sync ,
323330 CMH :: Target : ChannelMessageHandler + Send + Sync ,
324331 RMH :: Target : RoutingMessageHandler + Send + Sync ,
332+ OMH :: Target : OnionMessageHandler + Send + Sync ,
325333 L :: Target : Logger + Send + Sync ,
326334 UMH :: Target : CustomMessageHandler + Send + Sync ,
327335{
@@ -391,13 +399,15 @@ pub fn setup_outbound<CMH, RMH, L, UMH>(peer_manager: Arc<peer_handler::PeerMana
391399/// disconnected and associated handling futures are freed, though, because all processing in said
392400/// futures are spawned with tokio::spawn, you do not need to poll the second future in order to
393401/// make progress.
394- pub async fn connect_outbound < CMH , RMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , L , UMH > > , their_node_id : PublicKey , addr : SocketAddr ) -> Option < impl std:: future:: Future < Output =( ) > > where
402+ pub async fn connect_outbound < CMH , RMH , OMH , L , UMH > ( peer_manager : Arc < peer_handler:: PeerManager < SocketDescriptor , CMH , RMH , OMH , L , UMH > > , their_node_id : PublicKey , addr : SocketAddr ) -> Option < impl std:: future:: Future < Output =( ) > > where
395403 CMH : Deref + ' static + Send + Sync ,
396404 RMH : Deref + ' static + Send + Sync ,
405+ OMH : Deref + ' static + Send + Sync ,
397406 L : Deref + ' static + Send + Sync ,
398407 UMH : Deref + ' static + Send + Sync ,
399408 CMH :: Target : ChannelMessageHandler + Send + Sync ,
400409 RMH :: Target : RoutingMessageHandler + Send + Sync ,
410+ OMH :: Target : OnionMessageHandler + Send + Sync ,
401411 L :: Target : Logger + Send + Sync ,
402412 UMH :: Target : CustomMessageHandler + Send + Sync ,
403413{
@@ -646,6 +656,7 @@ mod tests {
646656 let a_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
647657 chan_handler : Arc :: clone ( & a_handler) ,
648658 route_handler : Arc :: clone ( & a_handler) ,
659+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
649660 } , a_key. clone ( ) , & [ 1 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
650661
651662 let ( b_connected_sender, mut b_connected) = mpsc:: channel ( 1 ) ;
@@ -660,6 +671,7 @@ mod tests {
660671 let b_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
661672 chan_handler : Arc :: clone ( & b_handler) ,
662673 route_handler : Arc :: clone ( & b_handler) ,
674+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
663675 } , b_key. clone ( ) , & [ 2 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
664676
665677 // We bind on localhost, hoping the environment is properly configured with a local
@@ -711,6 +723,7 @@ mod tests {
711723
712724 let a_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
713725 chan_handler : Arc :: new ( lightning:: ln:: peer_handler:: ErroringMessageHandler :: new ( ) ) ,
726+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
714727 route_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
715728 } , a_key, & [ 1 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
716729
0 commit comments