Class NetGraphMsgHandler


  • public class NetGraphMsgHandler
    extends Object
    Receives and validates network updates from peers, stores authentic and relevant data as a network graph. This network graph is then used for routing payments. Provides interface to help with initial routing sync by serving historical announcements.
    • Method Detail

      • of

        public static NetGraphMsgHandler of​(byte[] genesis_hash,
                                            @Nullable
                                            Access chain_access,
                                            Logger logger)
        Creates a new tracker of the actual state of the network of channels and nodes, assuming a fresh network graph. Chain monitor is used to make sure announced channels exist on-chain, channel data is correct, and that the announcement is signed with channel owners' keys. Note that chain_access (or a relevant inner pointer) may be NULL or all-0s to represent None
      • from_net_graph

        public static NetGraphMsgHandler from_net_graph​(@Nullable
                                                        Access chain_access,
                                                        Logger logger,
                                                        NetworkGraph network_graph)
        Creates a new tracker of the actual state of the network of channels and nodes, assuming an existing Network Graph. Note that chain_access (or a relevant inner pointer) may be NULL or all-0s to represent None
      • add_chain_access

        public void add_chain_access​(@Nullable
                                     Access chain_access)
        Adds a provider used to check new announcements. Does not affect existing announcements unless they are updated. Add, update or remove the provider would replace the current one. Note that chain_access (or a relevant inner pointer) may be NULL or all-0s to represent None
      • read_locked_graph

        public LockedNetworkGraph read_locked_graph()
        Take a read lock on the network_graph and return it in the C-bindings newtype helper. This is likely only useful when called via the C bindings as you can call `self.network_graph.read().unwrap()` in Rust yourself.
      • as_RoutingMessageHandler

        public RoutingMessageHandler as_RoutingMessageHandler()
        Constructs a new RoutingMessageHandler which calls the relevant methods on this_arg. This copies the `inner` pointer in this_arg and thus the returned RoutingMessageHandler must be freed before this_arg is
      • as_MessageSendEventsProvider

        public MessageSendEventsProvider as_MessageSendEventsProvider()
        Constructs a new MessageSendEventsProvider which calls the relevant methods on this_arg. This copies the `inner` pointer in this_arg and thus the returned MessageSendEventsProvider must be freed before this_arg is