Interface RoutingMessageHandler.RoutingMessageHandlerInterface

  • Enclosing class:
    RoutingMessageHandler

    public static interface RoutingMessageHandler.RoutingMessageHandlerInterface
    • 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`].