Skip to content

Commit

Permalink
Drop EventsProvider bounds on OnionMessageHandlers
Browse files Browse the repository at this point in the history
This never really made a lot of sense from an API perspective, but
was required to avoid handing the background processor an explicit
`OnionMessegner`, which we are now doing. Thus, we can simply drop
these bounds as unnecessary.
  • Loading branch information
TheBlueMatt committed Jun 3, 2024
1 parent 7c93560 commit 21aebd2
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 11 deletions.
4 changes: 2 additions & 2 deletions lightning/src/ln/msgs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ use core::fmt::Display;
use crate::io::{self, Cursor, Read};
use crate::io_extras::read_to_end;

use crate::events::{EventsProvider, MessageSendEventsProvider};
use crate::events::MessageSendEventsProvider;
use crate::crypto::streams::ChaChaPolyReadAdapter;
use crate::util::logger;
use crate::util::ser::{LengthReadable, LengthReadableArgs, Readable, ReadableArgs, Writeable, Writer, WithoutLength, FixedLengthReader, HighZeroBytesDroppedBigSize, Hostname, TransactionU16LenLimited, BigSize};
Expand Down Expand Up @@ -1623,7 +1623,7 @@ pub trait RoutingMessageHandler : MessageSendEventsProvider {
}

/// A handler for received [`OnionMessage`]s and for providing generated ones to send.
pub trait OnionMessageHandler: EventsProvider {
pub trait OnionMessageHandler {
/// Handle an incoming `onion_message` message from the given peer.
fn handle_onion_message(&self, peer_node_id: &PublicKey, msg: &OnionMessage);

Expand Down
10 changes: 1 addition & 9 deletions lightning/src/ln/peer_handler.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use bitcoin::blockdata::constants::ChainHash;
use bitcoin::secp256k1::{self, Secp256k1, SecretKey, PublicKey};

use crate::sign::{NodeSigner, Recipient};
use crate::events::{EventHandler, EventsProvider, MessageSendEvent, MessageSendEventsProvider};
use crate::events::{MessageSendEvent, MessageSendEventsProvider};
use crate::ln::types::ChannelId;
use crate::ln::features::{InitFeatures, NodeFeatures};
use crate::ln::msgs;
Expand Down Expand Up @@ -97,9 +97,6 @@ pub trait CustomMessageHandler: wire::CustomMessageReader {
/// A dummy struct which implements `RoutingMessageHandler` without storing any routing information
/// or doing any processing. You can provide one of these as the route_handler in a MessageHandler.
pub struct IgnoringMessageHandler{}
impl EventsProvider for IgnoringMessageHandler {
fn process_pending_events<H: Deref>(&self, _handler: H) where H::Target: EventHandler {}
}
impl MessageSendEventsProvider for IgnoringMessageHandler {
fn get_and_clear_pending_msg_events(&self) -> Vec<MessageSendEvent> { Vec::new() }
}
Expand Down Expand Up @@ -723,8 +720,6 @@ pub trait APeerManager {
type NS: Deref<Target=Self::NST>;
/// Gets a reference to the underlying [`PeerManager`].
fn as_ref(&self) -> &PeerManager<Self::Descriptor, Self::CM, Self::RM, Self::OM, Self::L, Self::CMH, Self::NS>;
/// Returns the peer manager's [`OnionMessageHandler`].
fn onion_message_handler(&self) -> &Self::OMT;
}

impl<Descriptor: SocketDescriptor, CM: Deref, RM: Deref, OM: Deref, L: Deref, CMH: Deref, NS: Deref>
Expand All @@ -750,9 +745,6 @@ APeerManager for PeerManager<Descriptor, CM, RM, OM, L, CMH, NS> where
type NST = <NS as Deref>::Target;
type NS = NS;
fn as_ref(&self) -> &PeerManager<Descriptor, CM, RM, OM, L, CMH, NS> { self }
fn onion_message_handler(&self) -> &Self::OMT {
self.message_handler.onion_message_handler.deref()
}
}

/// A PeerManager manages a set of peers, described by their [`SocketDescriptor`] and marshalls
Expand Down

0 comments on commit 21aebd2

Please sign in to comment.