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.voidpeer_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
void 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.
-
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`].
-
-