@@ -353,6 +353,40 @@ macro_rules! encode_msg {
353
353
} }
354
354
}
355
355
356
+ impl < Descriptor : SocketDescriptor , CM : Deref , L : Deref > PeerManager < Descriptor , CM , DummyRouteHandler , L > where
357
+ CM :: Target : ChannelMessageHandler ,
358
+ L :: Target : Logger {
359
+ /// Constructs a new PeerManager with the given channel message handler. No routing message
360
+ /// handler is used and network graph messages are ignored.
361
+ ///
362
+ /// ephemeral_random_data is used to derive per-connection ephemeral keys and must be
363
+ /// cryptographically secure random bytes.
364
+ pub fn new_without_routing ( channel_message_handler : CM , our_node_secret : SecretKey , ephemeral_random_data : & [ u8 ; 32 ] , logger : L ) -> Self {
365
+ Self :: new ( MessageHandler {
366
+ chan_handler : channel_message_handler,
367
+ route_handler : DummyRouteHandler { } ,
368
+ } , our_node_secret, ephemeral_random_data, logger)
369
+ }
370
+ }
371
+
372
+ impl < Descriptor : SocketDescriptor , RM : Deref , L : Deref > PeerManager < Descriptor , DummyChannelHandler , RM , L > where
373
+ RM :: Target : RoutingMessageHandler ,
374
+ L :: Target : Logger {
375
+ /// Constructs a new PeerManager with the given routing message handler. No channel message
376
+ /// handler is used and messages related to channels will be ignored (or generate error
377
+ /// messages). Note that some other lightning implementations time-out connections after some
378
+ /// time if no channel is built with the peer.
379
+ ///
380
+ /// ephemeral_random_data is used to derive per-connection ephemeral keys and must be
381
+ /// cryptographically secure random bytes.
382
+ pub fn new_without_channel ( routing_message_handler : RM , our_node_secret : SecretKey , ephemeral_random_data : & [ u8 ; 32 ] , logger : L ) -> Self {
383
+ Self :: new ( MessageHandler {
384
+ chan_handler : DummyChannelHandler :: new ( ) ,
385
+ route_handler : routing_message_handler,
386
+ } , our_node_secret, ephemeral_random_data, logger)
387
+ }
388
+ }
389
+
356
390
/// Manages and reacts to connection events. You probably want to use file descriptors as PeerIds.
357
391
/// PeerIds may repeat, but only after socket_disconnected() has been called.
358
392
impl < Descriptor : SocketDescriptor , CM : Deref , RM : Deref , L : Deref > PeerManager < Descriptor , CM , RM , L > where
0 commit comments