Trait lightning::ln::peer_handler::CustomMessageHandler
source · 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§
sourcefn handle_custom_message(
&self,
msg: Self::CustomMessage,
sender_node_id: &PublicKey
) -> Result<(), LightningError>
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.
sourcefn get_and_clear_pending_msg(&self) -> Vec<(PublicKey, Self::CustomMessage)> ⓘ
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.