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