@@ -24,12 +24,15 @@ use crate::ln::ChannelId;
2424use crate :: ln:: features:: { InitFeatures , NodeFeatures } ;
2525use crate :: ln:: msgs;
2626use crate :: ln:: msgs:: { ChannelMessageHandler , LightningError , SocketAddress , OnionMessageHandler , RoutingMessageHandler } ;
27+ #[ cfg( not( c_bindings) ) ]
2728use crate :: ln:: channelmanager:: { SimpleArcChannelManager , SimpleRefChannelManager } ;
2829use crate :: util:: ser:: { VecWriter , Writeable , Writer } ;
2930use crate :: ln:: peer_channel_encryptor:: { PeerChannelEncryptor , NextNoiseStep } ;
3031use crate :: ln:: wire;
3132use crate :: ln:: wire:: { Encode , Type } ;
32- use crate :: onion_message:: { CustomOnionMessageHandler , OffersMessage , OffersMessageHandler , OnionMessageContents , PendingOnionMessage , SimpleArcOnionMessenger , SimpleRefOnionMessenger } ;
33+ #[ cfg( not( c_bindings) ) ]
34+ use crate :: onion_message:: { SimpleArcOnionMessenger , SimpleRefOnionMessenger } ;
35+ use crate :: onion_message:: { CustomOnionMessageHandler , OffersMessage , OffersMessageHandler , OnionMessageContents , PendingOnionMessage } ;
3336use crate :: routing:: gossip:: { NetworkGraph , P2PGossipSync , NodeId , NodeAlias } ;
3437use crate :: util:: atomic_counter:: AtomicCounter ;
3538use crate :: util:: logger:: Logger ;
@@ -608,7 +611,8 @@ impl Peer {
608611/// SimpleRefPeerManager is the more appropriate type. Defining these type aliases prevents
609612/// issues such as overly long function definitions.
610613///
611- /// This is not exported to bindings users as `Arc`s don't make sense in bindings.
614+ /// This is not exported to bindings users as type aliases aren't supported in most languages.
615+ #[ cfg( not( c_bindings) ) ]
612616pub type SimpleArcPeerManager < SD , M , T , F , C , L > = PeerManager <
613617 SD ,
614618 Arc < SimpleArcChannelManager < M , T , F , L > > ,
@@ -626,7 +630,8 @@ pub type SimpleArcPeerManager<SD, M, T, F, C, L> = PeerManager<
626630/// But if this is not necessary, using a reference is more efficient. Defining these type aliases
627631/// helps with issues such as long function definitions.
628632///
629- /// This is not exported to bindings users as general type aliases don't make sense in bindings.
633+ /// This is not exported to bindings users as type aliases aren't supported in most languages.
634+ #[ cfg( not( c_bindings) ) ]
630635pub type SimpleRefPeerManager <
631636 ' a , ' b , ' c , ' d , ' e , ' f , ' logger , ' h , ' i , ' j , ' graph , ' k , SD , M , T , F , C , L
632637> = PeerManager <
0 commit comments