Package org.ldk.structs
Class NetGraphMsgHandler
- java.lang.Object
-
- org.ldk.structs.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 Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add_chain_access(Access chain_access)
Adds a provider used to check new announcements.MessageSendEventsProvider
as_MessageSendEventsProvider()
Constructs a new MessageSendEventsProvider which calls the relevant methods on this_arg.RoutingMessageHandler
as_RoutingMessageHandler()
Constructs a new RoutingMessageHandler which calls the relevant methods on this_arg.protected void
finalize()
static NetGraphMsgHandler
from_net_graph(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.static NetGraphMsgHandler
of(byte[] genesis_hash, 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.LockedNetworkGraph
read_locked_graph()
Take a read lock on the network_graph and return it in the C-bindings newtype helper.
-
-
-
Method Detail
-
finalize
protected void finalize() throws Throwable
-
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
-
-