@@ -81,7 +81,7 @@ use tokio::io::{AsyncReadExt, AsyncWrite, AsyncWriteExt};
8181use lightning:: ln:: peer_handler;
8282use lightning:: ln:: peer_handler:: SocketDescriptor as LnSocketTrait ;
8383use lightning:: ln:: peer_handler:: CustomMessageHandler ;
84- use lightning:: ln:: msgs:: { ChannelMessageHandler , RoutingMessageHandler , NetAddress } ;
84+ use lightning:: ln:: msgs:: { ChannelMessageHandler , OnionMessageHandler , NetAddress , RoutingMessageHandler } ;
8585use lightning:: util:: logger:: Logger ;
8686
8787use std:: ops:: Deref ;
@@ -121,13 +121,15 @@ struct Connection {
121121 id : u64 ,
122122}
123123impl Connection {
124- 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
124+ 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
125125 CMH : Deref + ' static + Send + Sync ,
126126 RMH : Deref + ' static + Send + Sync ,
127+ OMH : Deref + ' static + Send + Sync ,
127128 L : Deref + ' static + Send + Sync ,
128129 UMH : Deref + ' static + Send + Sync ,
129130 CMH :: Target : ChannelMessageHandler + Send + Sync ,
130131 RMH :: Target : RoutingMessageHandler + Send + Sync ,
132+ OMH :: Target : OnionMessageHandler + Send + Sync ,
131133 L :: Target : Logger + Send + Sync ,
132134 UMH :: Target : CustomMessageHandler + Send + Sync ,
133135 {
@@ -139,13 +141,15 @@ impl Connection {
139141 }
140142 }
141143
142- 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
144+ 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
143145 CMH : Deref + ' static + Send + Sync ,
144146 RMH : Deref + ' static + Send + Sync ,
147+ OMH : Deref + ' static + Send + Sync ,
145148 L : Deref + ' static + Send + Sync ,
146149 UMH : Deref + ' static + Send + Sync ,
147150 CMH :: Target : ChannelMessageHandler + ' static + Send + Sync ,
148151 RMH :: Target : RoutingMessageHandler + ' static + Send + Sync ,
152+ OMH :: Target : OnionMessageHandler + ' static + Send + Sync ,
149153 L :: Target : Logger + ' static + Send + Sync ,
150154 UMH :: Target : CustomMessageHandler + ' static + Send + Sync ,
151155 {
@@ -266,13 +270,15 @@ fn get_addr_from_stream(stream: &StdTcpStream) -> Option<NetAddress> {
266270/// The returned future will complete when the peer is disconnected and associated handling
267271/// futures are freed, though, because all processing futures are spawned with tokio::spawn, you do
268272/// not need to poll the provided future in order to make progress.
269- 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
273+ 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
270274 CMH : Deref + ' static + Send + Sync ,
271275 RMH : Deref + ' static + Send + Sync ,
276+ OMH : Deref + ' static + Send + Sync ,
272277 L : Deref + ' static + Send + Sync ,
273278 UMH : Deref + ' static + Send + Sync ,
274279 CMH :: Target : ChannelMessageHandler + Send + Sync ,
275280 RMH :: Target : RoutingMessageHandler + Send + Sync ,
281+ OMH :: Target : OnionMessageHandler + Send + Sync ,
276282 L :: Target : Logger + Send + Sync ,
277283 UMH :: Target : CustomMessageHandler + Send + Sync ,
278284{
@@ -313,13 +319,15 @@ pub fn setup_inbound<CMH, RMH, L, UMH>(peer_manager: Arc<peer_handler::PeerManag
313319/// The returned future will complete when the peer is disconnected and associated handling
314320/// futures are freed, though, because all processing futures are spawned with tokio::spawn, you do
315321/// not need to poll the provided future in order to make progress.
316- 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
322+ 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
317323 CMH : Deref + ' static + Send + Sync ,
318324 RMH : Deref + ' static + Send + Sync ,
325+ OMH : Deref + ' static + Send + Sync ,
319326 L : Deref + ' static + Send + Sync ,
320327 UMH : Deref + ' static + Send + Sync ,
321328 CMH :: Target : ChannelMessageHandler + Send + Sync ,
322329 RMH :: Target : RoutingMessageHandler + Send + Sync ,
330+ OMH :: Target : OnionMessageHandler + Send + Sync ,
323331 L :: Target : Logger + Send + Sync ,
324332 UMH :: Target : CustomMessageHandler + Send + Sync ,
325333{
@@ -389,13 +397,15 @@ pub fn setup_outbound<CMH, RMH, L, UMH>(peer_manager: Arc<peer_handler::PeerMana
389397/// disconnected and associated handling futures are freed, though, because all processing in said
390398/// futures are spawned with tokio::spawn, you do not need to poll the second future in order to
391399/// make progress.
392- 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
400+ 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
393401 CMH : Deref + ' static + Send + Sync ,
394402 RMH : Deref + ' static + Send + Sync ,
403+ OMH : Deref + ' static + Send + Sync ,
395404 L : Deref + ' static + Send + Sync ,
396405 UMH : Deref + ' static + Send + Sync ,
397406 CMH :: Target : ChannelMessageHandler + Send + Sync ,
398407 RMH :: Target : RoutingMessageHandler + Send + Sync ,
408+ OMH :: Target : OnionMessageHandler + Send + Sync ,
399409 L :: Target : Logger + Send + Sync ,
400410 UMH :: Target : CustomMessageHandler + Send + Sync ,
401411{
@@ -644,6 +654,7 @@ mod tests {
644654 let a_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
645655 chan_handler : Arc :: clone ( & a_handler) ,
646656 route_handler : Arc :: clone ( & a_handler) ,
657+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
647658 } , a_key. clone ( ) , & [ 1 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
648659
649660 let ( b_connected_sender, mut b_connected) = mpsc:: channel ( 1 ) ;
@@ -658,6 +669,7 @@ mod tests {
658669 let b_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
659670 chan_handler : Arc :: clone ( & b_handler) ,
660671 route_handler : Arc :: clone ( & b_handler) ,
672+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
661673 } , b_key. clone ( ) , & [ 2 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
662674
663675 // We bind on localhost, hoping the environment is properly configured with a local
@@ -709,6 +721,7 @@ mod tests {
709721
710722 let a_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
711723 chan_handler : Arc :: new ( lightning:: ln:: peer_handler:: ErroringMessageHandler :: new ( ) ) ,
724+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
712725 route_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
713726 } , a_key, & [ 1 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
714727
0 commit comments