Package org.ldk.structs
Class ChannelMessageHandler
- java.lang.Object
-
- org.ldk.structs.ChannelMessageHandler
-
public class ChannelMessageHandler extends Object
A trait to describe an object which can receive channel messages. Messages MAY be called in parallel when they originate from different `their_node_ids`, however they MUST NOT be called in parallel when the two calls have the same `their_node_id`.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceChannelMessageHandler.ChannelMessageHandlerInterface
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voiddestroy()Destroys the object, freeing associated resources.protected voidfinalize()Option_CVec_ThirtyTwoBytesZZget_genesis_hashes()Gets the genesis hashes for this `ChannelMessageHandler` indicating which chains it supports.MessageSendEventsProviderget_message_send_events_provider()Gets the underlying MessageSendEventsProvider.voidhandle_accept_channel(byte[] their_node_id, AcceptChannel msg)Handle an incoming `accept_channel` message from the given peer.voidhandle_accept_channel_v2(byte[] their_node_id, AcceptChannelV2 msg)Handle an incoming `accept_channel2` message from the given peer.voidhandle_announcement_signatures(byte[] their_node_id, AnnouncementSignatures msg)Handle an incoming `announcement_signatures` message from the given peer.voidhandle_channel_ready(byte[] their_node_id, ChannelReady msg)Handle an incoming `channel_ready` message from the given peer.voidhandle_channel_reestablish(byte[] their_node_id, ChannelReestablish msg)Handle an incoming `channel_reestablish` message from the given peer.voidhandle_channel_update(byte[] their_node_id, ChannelUpdate msg)Handle an incoming `channel_update` message from the given peer.voidhandle_closing_signed(byte[] their_node_id, ClosingSigned msg)Handle an incoming `closing_signed` message from the given peer.voidhandle_commitment_signed(byte[] their_node_id, CommitmentSigned msg)Handle an incoming `commitment_signed` message from the given peer.voidhandle_error(byte[] their_node_id, ErrorMessage msg)Handle an incoming `error` message from the given peer.voidhandle_funding_created(byte[] their_node_id, FundingCreated msg)Handle an incoming `funding_created` message from the given peer.voidhandle_funding_signed(byte[] their_node_id, FundingSigned msg)Handle an incoming `funding_signed` message from the given peer.voidhandle_open_channel(byte[] their_node_id, OpenChannel msg)Handle an incoming `open_channel` message from the given peer.voidhandle_open_channel_v2(byte[] their_node_id, OpenChannelV2 msg)Handle an incoming `open_channel2` message from the given peer.voidhandle_revoke_and_ack(byte[] their_node_id, RevokeAndACK msg)Handle an incoming `revoke_and_ack` message from the given peer.voidhandle_shutdown(byte[] their_node_id, Shutdown msg)Handle an incoming `shutdown` message from the given peer.voidhandle_tx_abort(byte[] their_node_id, TxAbort msg)Handle an incoming `tx_abort message` from the given peer.voidhandle_tx_ack_rbf(byte[] their_node_id, TxAckRbf msg)Handle an incoming `tx_ack_rbf` message from the given peer.voidhandle_tx_add_input(byte[] their_node_id, TxAddInput msg)Handle an incoming `tx_add_input message` from the given peer.voidhandle_tx_add_output(byte[] their_node_id, TxAddOutput msg)Handle an incoming `tx_add_output` message from the given peer.voidhandle_tx_complete(byte[] their_node_id, TxComplete msg)Handle an incoming `tx_complete message` from the given peer.voidhandle_tx_init_rbf(byte[] their_node_id, TxInitRbf msg)Handle an incoming `tx_init_rbf` message from the given peer.voidhandle_tx_remove_input(byte[] their_node_id, TxRemoveInput msg)Handle an incoming `tx_remove_input` message from the given peer.voidhandle_tx_remove_output(byte[] their_node_id, TxRemoveOutput msg)Handle an incoming `tx_remove_output` message from the given peer.voidhandle_tx_signatures(byte[] their_node_id, TxSignatures msg)Handle an incoming `tx_signatures` message from the given peer.voidhandle_update_add_htlc(byte[] their_node_id, UpdateAddHTLC msg)Handle an incoming `update_add_htlc` message from the given peer.voidhandle_update_fail_htlc(byte[] their_node_id, UpdateFailHTLC msg)Handle an incoming `update_fail_htlc` message from the given peer.voidhandle_update_fail_malformed_htlc(byte[] their_node_id, UpdateFailMalformedHTLC msg)Handle an incoming `update_fail_malformed_htlc` message from the given peer.voidhandle_update_fee(byte[] their_node_id, UpdateFee msg)Handle an incoming `update_fee` message from the given peer.voidhandle_update_fulfill_htlc(byte[] their_node_id, UpdateFulfillHTLC msg)Handle an incoming `update_fulfill_htlc` message from the given peer.static ChannelMessageHandlernew_impl(ChannelMessageHandler.ChannelMessageHandlerInterface arg, MessageSendEventsProvider.MessageSendEventsProviderInterface MessageSendEventsProvider_impl)Result_NoneNoneZpeer_connected(byte[] their_node_id, Init msg, boolean inbound)Handle a peer reconnecting, possibly generating `channel_reestablish` message(s).voidpeer_disconnected(byte[] their_node_id)Indicates a connection to the peer failed/an existing connection was lost.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
-
finalize
protected void finalize() throws Throwable
-
destroy
public void destroy()
Destroys the object, freeing associated resources. After this call, any access to this object may result in a SEGFAULT or worse. You should generally NEVER call this method. You should let the garbage collector do this for you when it finalizes objects. However, it may be useful for types which represent locks and should be closed immediately to avoid holding locks until the GC runs.
-
new_impl
public static ChannelMessageHandler new_impl(ChannelMessageHandler.ChannelMessageHandlerInterface arg, MessageSendEventsProvider.MessageSendEventsProviderInterface MessageSendEventsProvider_impl)
-
get_message_send_events_provider
public MessageSendEventsProvider get_message_send_events_provider()
Gets the underlying MessageSendEventsProvider.
-
handle_open_channel
public void handle_open_channel(byte[] their_node_id, OpenChannel msg)Handle an incoming `open_channel` message from the given peer.
-
handle_open_channel_v2
public void handle_open_channel_v2(byte[] their_node_id, OpenChannelV2 msg)Handle an incoming `open_channel2` message from the given peer.
-
handle_accept_channel
public void handle_accept_channel(byte[] their_node_id, AcceptChannel msg)Handle an incoming `accept_channel` message from the given peer.
-
handle_accept_channel_v2
public void handle_accept_channel_v2(byte[] their_node_id, AcceptChannelV2 msg)Handle an incoming `accept_channel2` message from the given peer.
-
handle_funding_created
public void handle_funding_created(byte[] their_node_id, FundingCreated msg)Handle an incoming `funding_created` message from the given peer.
-
handle_funding_signed
public void handle_funding_signed(byte[] their_node_id, FundingSigned msg)Handle an incoming `funding_signed` message from the given peer.
-
handle_channel_ready
public void handle_channel_ready(byte[] their_node_id, ChannelReady msg)Handle an incoming `channel_ready` message from the given peer.
-
handle_shutdown
public void handle_shutdown(byte[] their_node_id, Shutdown msg)Handle an incoming `shutdown` message from the given peer.
-
handle_closing_signed
public void handle_closing_signed(byte[] their_node_id, ClosingSigned msg)Handle an incoming `closing_signed` message from the given peer.
-
handle_tx_add_input
public void handle_tx_add_input(byte[] their_node_id, TxAddInput msg)Handle an incoming `tx_add_input message` from the given peer.
-
handle_tx_add_output
public void handle_tx_add_output(byte[] their_node_id, TxAddOutput msg)Handle an incoming `tx_add_output` message from the given peer.
-
handle_tx_remove_input
public void handle_tx_remove_input(byte[] their_node_id, TxRemoveInput msg)Handle an incoming `tx_remove_input` message from the given peer.
-
handle_tx_remove_output
public void handle_tx_remove_output(byte[] their_node_id, TxRemoveOutput msg)Handle an incoming `tx_remove_output` message from the given peer.
-
handle_tx_complete
public void handle_tx_complete(byte[] their_node_id, TxComplete msg)Handle an incoming `tx_complete message` from the given peer.
-
handle_tx_signatures
public void handle_tx_signatures(byte[] their_node_id, TxSignatures msg)Handle an incoming `tx_signatures` message from the given peer.
-
handle_tx_init_rbf
public void handle_tx_init_rbf(byte[] their_node_id, TxInitRbf msg)Handle an incoming `tx_init_rbf` message from the given peer.
-
handle_tx_ack_rbf
public void handle_tx_ack_rbf(byte[] their_node_id, TxAckRbf msg)Handle an incoming `tx_ack_rbf` message from the given peer.
-
handle_tx_abort
public void handle_tx_abort(byte[] their_node_id, TxAbort msg)Handle an incoming `tx_abort message` from the given peer.
-
handle_update_add_htlc
public void handle_update_add_htlc(byte[] their_node_id, UpdateAddHTLC msg)Handle an incoming `update_add_htlc` message from the given peer.
-
handle_update_fulfill_htlc
public void handle_update_fulfill_htlc(byte[] their_node_id, UpdateFulfillHTLC msg)Handle an incoming `update_fulfill_htlc` message from the given peer.
-
handle_update_fail_htlc
public void handle_update_fail_htlc(byte[] their_node_id, UpdateFailHTLC msg)Handle an incoming `update_fail_htlc` message from the given peer.
-
handle_update_fail_malformed_htlc
public void handle_update_fail_malformed_htlc(byte[] their_node_id, UpdateFailMalformedHTLC msg)Handle an incoming `update_fail_malformed_htlc` message from the given peer.
-
handle_commitment_signed
public void handle_commitment_signed(byte[] their_node_id, CommitmentSigned msg)Handle an incoming `commitment_signed` message from the given peer.
-
handle_revoke_and_ack
public void handle_revoke_and_ack(byte[] their_node_id, RevokeAndACK msg)Handle an incoming `revoke_and_ack` message from the given peer.
-
handle_update_fee
public void handle_update_fee(byte[] their_node_id, UpdateFee msg)Handle an incoming `update_fee` message from the given peer.
-
handle_announcement_signatures
public void handle_announcement_signatures(byte[] their_node_id, AnnouncementSignatures msg)Handle an incoming `announcement_signatures` message from the given peer.
-
peer_disconnected
public void peer_disconnected(byte[] their_node_id)
Indicates a connection to the peer failed/an existing connection was lost.
-
peer_connected
public Result_NoneNoneZ peer_connected(byte[] their_node_id, Init msg, boolean inbound)
Handle a peer reconnecting, possibly generating `channel_reestablish` message(s). 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_channel_reestablish
public void handle_channel_reestablish(byte[] their_node_id, ChannelReestablish msg)Handle an incoming `channel_reestablish` message from the given peer.
-
handle_channel_update
public void handle_channel_update(byte[] their_node_id, ChannelUpdate msg)Handle an incoming `channel_update` message from the given peer.
-
handle_error
public void handle_error(byte[] their_node_id, ErrorMessage msg)Handle an incoming `error` message from the given peer.
-
provided_node_features
public 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
public 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`].
-
get_genesis_hashes
public Option_CVec_ThirtyTwoBytesZZ get_genesis_hashes()
Gets the genesis hashes for this `ChannelMessageHandler` indicating which chains it supports. If it's `None`, then no particular network chain hash compatibility will be enforced when connecting to peers.
-
-