Package org.ldk.structs
Interface RoutingMessageHandler.RoutingMessageHandlerInterface
-
- Enclosing class:
- RoutingMessageHandler
public static interface RoutingMessageHandler.RoutingMessageHandlerInterface
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Option_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZget_next_channel_announcement(long starting_point)Gets channel announcements and updates required to dump our routing table to a remote node, starting at the short_channel_id indicated by starting_point and including announcements for a single channel.NodeAnnouncementget_next_node_announcement(byte[] starting_point)Gets a node announcement required to dump our routing table to a remote node, starting at the node *after* the provided pubkey and including up to one announcement immediately higher (as defined by::cmp) than starting_point. Result_boolLightningErrorZhandle_channel_announcement(ChannelAnnouncement msg)Handle a channel_announcement message, returning true if it should be forwarded on, false or returning an Err otherwise.Result_boolLightningErrorZhandle_channel_update(ChannelUpdate msg)Handle an incoming channel_update message, returning true if it should be forwarded on, false or returning an Err otherwise.Result_boolLightningErrorZhandle_node_announcement(NodeAnnouncement msg)Handle an incoming node_announcement message, returning true if it should be forwarded on, false or returning an Err otherwise.Result_NoneLightningErrorZhandle_query_channel_range(byte[] their_node_id, QueryChannelRange msg)Handles when a peer asks us to send a list of short_channel_ids for the requested range of blocks.Result_NoneLightningErrorZhandle_query_short_channel_ids(byte[] their_node_id, QueryShortChannelIds msg)Handles when a peer asks us to send routing gossip messages for a list of short_channel_ids.Result_NoneLightningErrorZhandle_reply_channel_range(byte[] their_node_id, ReplyChannelRange msg)Handles the reply of a query we initiated to learn about channels for a given range of blocks.Result_NoneLightningErrorZhandle_reply_short_channel_ids_end(byte[] their_node_id, ReplyShortChannelIdsEnd msg)Handles the reply of a query we initiated asking for routing gossip messages for a list of channels.Result_NoneNoneZpeer_connected(byte[] their_node_id, Init init)Called when a connection is established with a peer.InitFeaturesprovided_init_features(byte[] their_node_id)Gets the init feature flags which should be sent to the given peer.NodeFeaturesprovided_node_features()Gets the node feature flags which this handler itself supports.
-
-
-
Method Detail
-
handle_node_announcement
Result_boolLightningErrorZ handle_node_announcement(NodeAnnouncement msg)
Handle an incoming node_announcement message, returning true if it should be forwarded on, false or returning an Err otherwise.
-
handle_channel_announcement
Result_boolLightningErrorZ handle_channel_announcement(ChannelAnnouncement msg)
Handle a channel_announcement message, returning true if it should be forwarded on, false or returning an Err otherwise.
-
handle_channel_update
Result_boolLightningErrorZ handle_channel_update(ChannelUpdate msg)
Handle an incoming channel_update message, returning true if it should be forwarded on, false or returning an Err otherwise.
-
get_next_channel_announcement
Option_C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZZ get_next_channel_announcement(long starting_point)
Gets channel announcements and updates required to dump our routing table to a remote node, starting at the short_channel_id indicated by starting_point and including announcements for a single channel.
-
get_next_node_announcement
NodeAnnouncement get_next_node_announcement(byte[] starting_point)
Gets a node announcement required to dump our routing table to a remote node, starting at the node *after* the provided pubkey and including up to one announcement immediately higher (as defined by::cmp) than starting_point. If None is provided for starting_point, we start at the first node. Note that starting_point (or a relevant inner pointer) may be NULL or all-0s to represent None Note that the return value (or a relevant inner pointer) may be NULL or all-0s to represent None
-
peer_connected
Result_NoneNoneZ peer_connected(byte[] their_node_id, Init init)
Called when a connection is established with a peer. This can be used to perform routing table synchronization using a strategy defined by the implementor. May return an `Err(())` if the features the peer supports are not sufficient to communicate with us. Implementors should be somewhat conservative about doing so, however, as other message handlers may still wish to communicate with this peer.
-
handle_reply_channel_range
Result_NoneLightningErrorZ handle_reply_channel_range(byte[] their_node_id, ReplyChannelRange msg)
Handles the reply of a query we initiated to learn about channels for a given range of blocks. We can expect to receive one or more replies to a single query.
-
handle_reply_short_channel_ids_end
Result_NoneLightningErrorZ handle_reply_short_channel_ids_end(byte[] their_node_id, ReplyShortChannelIdsEnd msg)
Handles the reply of a query we initiated asking for routing gossip messages for a list of channels. We should receive this message when a node has completed its best effort to send us the pertaining routing gossip messages.
-
handle_query_channel_range
Result_NoneLightningErrorZ handle_query_channel_range(byte[] their_node_id, QueryChannelRange msg)
Handles when a peer asks us to send a list of short_channel_ids for the requested range of blocks.
-
handle_query_short_channel_ids
Result_NoneLightningErrorZ handle_query_short_channel_ids(byte[] their_node_id, QueryShortChannelIds msg)
Handles when a peer asks us to send routing gossip messages for a list of short_channel_ids.
-
provided_node_features
NodeFeatures provided_node_features()
Gets the node feature flags which this handler itself supports. All available handlers are queried similarly and their feature flags are OR'd together to form the [`NodeFeatures`] which are broadcasted in our [`NodeAnnouncement`] message.
-
provided_init_features
InitFeatures provided_init_features(byte[] their_node_id)
Gets the init feature flags which should be sent to the given peer. All available handlers are queried similarly and their feature flags are OR'd together to form the [`InitFeatures`] which are sent in our [`Init`] message. Note that this method is called before [`Self::peer_connected`].
-
-