@@ -81,7 +81,7 @@ use tokio::io::{AsyncReadExt, AsyncWrite, AsyncWriteExt};
81
81
use lightning:: ln:: peer_handler;
82
82
use lightning:: ln:: peer_handler:: SocketDescriptor as LnSocketTrait ;
83
83
use lightning:: ln:: peer_handler:: CustomMessageHandler ;
84
- use lightning:: ln:: msgs:: { ChannelMessageHandler , RoutingMessageHandler , NetAddress } ;
84
+ use lightning:: ln:: msgs:: { ChannelMessageHandler , OnionMessageHandler , NetAddress , RoutingMessageHandler } ;
85
85
use lightning:: util:: logger:: Logger ;
86
86
87
87
use std:: ops:: Deref ;
@@ -121,13 +121,15 @@ struct Connection {
121
121
id : u64 ,
122
122
}
123
123
impl 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
125
125
CMH : Deref + ' static + Send + Sync ,
126
126
RMH : Deref + ' static + Send + Sync ,
127
+ OMH : Deref + ' static + Send + Sync ,
127
128
L : Deref + ' static + Send + Sync ,
128
129
UMH : Deref + ' static + Send + Sync ,
129
130
CMH :: Target : ChannelMessageHandler + Send + Sync ,
130
131
RMH :: Target : RoutingMessageHandler + Send + Sync ,
132
+ OMH :: Target : OnionMessageHandler + Send + Sync ,
131
133
L :: Target : Logger + Send + Sync ,
132
134
UMH :: Target : CustomMessageHandler + Send + Sync ,
133
135
{
@@ -139,13 +141,15 @@ impl Connection {
139
141
}
140
142
}
141
143
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
143
145
CMH : Deref + ' static + Send + Sync ,
144
146
RMH : Deref + ' static + Send + Sync ,
147
+ OMH : Deref + ' static + Send + Sync ,
145
148
L : Deref + ' static + Send + Sync ,
146
149
UMH : Deref + ' static + Send + Sync ,
147
150
CMH :: Target : ChannelMessageHandler + ' static + Send + Sync ,
148
151
RMH :: Target : RoutingMessageHandler + ' static + Send + Sync ,
152
+ OMH :: Target : OnionMessageHandler + ' static + Send + Sync ,
149
153
L :: Target : Logger + ' static + Send + Sync ,
150
154
UMH :: Target : CustomMessageHandler + ' static + Send + Sync ,
151
155
{
@@ -266,13 +270,15 @@ fn get_addr_from_stream(stream: &StdTcpStream) -> Option<NetAddress> {
266
270
/// The returned future will complete when the peer is disconnected and associated handling
267
271
/// futures are freed, though, because all processing futures are spawned with tokio::spawn, you do
268
272
/// 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
270
274
CMH : Deref + ' static + Send + Sync ,
271
275
RMH : Deref + ' static + Send + Sync ,
276
+ OMH : Deref + ' static + Send + Sync ,
272
277
L : Deref + ' static + Send + Sync ,
273
278
UMH : Deref + ' static + Send + Sync ,
274
279
CMH :: Target : ChannelMessageHandler + Send + Sync ,
275
280
RMH :: Target : RoutingMessageHandler + Send + Sync ,
281
+ OMH :: Target : OnionMessageHandler + Send + Sync ,
276
282
L :: Target : Logger + Send + Sync ,
277
283
UMH :: Target : CustomMessageHandler + Send + Sync ,
278
284
{
@@ -313,13 +319,15 @@ pub fn setup_inbound<CMH, RMH, L, UMH>(peer_manager: Arc<peer_handler::PeerManag
313
319
/// The returned future will complete when the peer is disconnected and associated handling
314
320
/// futures are freed, though, because all processing futures are spawned with tokio::spawn, you do
315
321
/// 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
317
323
CMH : Deref + ' static + Send + Sync ,
318
324
RMH : Deref + ' static + Send + Sync ,
325
+ OMH : Deref + ' static + Send + Sync ,
319
326
L : Deref + ' static + Send + Sync ,
320
327
UMH : Deref + ' static + Send + Sync ,
321
328
CMH :: Target : ChannelMessageHandler + Send + Sync ,
322
329
RMH :: Target : RoutingMessageHandler + Send + Sync ,
330
+ OMH :: Target : OnionMessageHandler + Send + Sync ,
323
331
L :: Target : Logger + Send + Sync ,
324
332
UMH :: Target : CustomMessageHandler + Send + Sync ,
325
333
{
@@ -389,13 +397,15 @@ pub fn setup_outbound<CMH, RMH, L, UMH>(peer_manager: Arc<peer_handler::PeerMana
389
397
/// disconnected and associated handling futures are freed, though, because all processing in said
390
398
/// futures are spawned with tokio::spawn, you do not need to poll the second future in order to
391
399
/// 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
393
401
CMH : Deref + ' static + Send + Sync ,
394
402
RMH : Deref + ' static + Send + Sync ,
403
+ OMH : Deref + ' static + Send + Sync ,
395
404
L : Deref + ' static + Send + Sync ,
396
405
UMH : Deref + ' static + Send + Sync ,
397
406
CMH :: Target : ChannelMessageHandler + Send + Sync ,
398
407
RMH :: Target : RoutingMessageHandler + Send + Sync ,
408
+ OMH :: Target : OnionMessageHandler + Send + Sync ,
399
409
L :: Target : Logger + Send + Sync ,
400
410
UMH :: Target : CustomMessageHandler + Send + Sync ,
401
411
{
@@ -644,6 +654,7 @@ mod tests {
644
654
let a_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
645
655
chan_handler : Arc :: clone ( & a_handler) ,
646
656
route_handler : Arc :: clone ( & a_handler) ,
657
+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
647
658
} , a_key. clone ( ) , & [ 1 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
648
659
649
660
let ( b_connected_sender, mut b_connected) = mpsc:: channel ( 1 ) ;
@@ -658,6 +669,7 @@ mod tests {
658
669
let b_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
659
670
chan_handler : Arc :: clone ( & b_handler) ,
660
671
route_handler : Arc :: clone ( & b_handler) ,
672
+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
661
673
} , b_key. clone ( ) , & [ 2 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
662
674
663
675
// We bind on localhost, hoping the environment is properly configured with a local
@@ -709,6 +721,7 @@ mod tests {
709
721
710
722
let a_manager = Arc :: new ( PeerManager :: new ( MessageHandler {
711
723
chan_handler : Arc :: new ( lightning:: ln:: peer_handler:: ErroringMessageHandler :: new ( ) ) ,
724
+ onion_message_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
712
725
route_handler : Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ,
713
726
} , a_key, & [ 1 ; 32 ] , Arc :: new ( TestLogger ( ) ) , Arc :: new ( lightning:: ln:: peer_handler:: IgnoringMessageHandler { } ) ) ) ;
714
727
0 commit comments