pub trait CustomMessageHandler: CustomMessageReader {
    // Required methods
    fn handle_custom_message(
        &self,
        msg: Self::CustomMessage,
        sender_node_id: &PublicKey
    ) -> Result<(), LightningError>;
    fn get_and_clear_pending_msg(&self) -> Vec<(PublicKey, Self::CustomMessage)> ;
}
Expand description

A handler provided to PeerManager for reading and handling custom messages.

BOLT 1 specifies a custom message type range for use with experimental or application-specific messages. CustomMessageHandler allows for user-defined handling of such types. See the lightning_custom_message crate for tools useful in composing more than one custom handler.

Required Methods§

source

fn handle_custom_message( &self, msg: Self::CustomMessage, sender_node_id: &PublicKey ) -> Result<(), LightningError>

Handles the given message sent from sender_node_id, possibly producing messages for CustomMessageHandler::get_and_clear_pending_msg to return and thus for PeerManager to send.

source

fn get_and_clear_pending_msg(&self) -> Vec<(PublicKey, Self::CustomMessage)>

Returns the list of pending messages that were generated by the handler, clearing the list in the process. Each message is paired with the node id of the intended recipient. If no connection to the node exists, then the message is simply not sent.

Implementors§