@@ -353,6 +353,40 @@ macro_rules! encode_msg {
353353 } }
354354}
355355
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 , CM , 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 ,
385+ route_handler : routing_message_handler,
386+ } , our_node_secret, ephemeral_random_data, logger)
387+ }
388+ }
389+
356390/// Manages and reacts to connection events. You probably want to use file descriptors as PeerIds.
357391/// PeerIds may repeat, but only after socket_disconnected() has been called.
358392impl < Descriptor : SocketDescriptor , CM : Deref , RM : Deref , L : Deref > PeerManager < Descriptor , CM , RM , L > where
0 commit comments