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