Skip to content

Commit 3b9e33b

Browse files
committed
f - remove ResponseErrorHandler
1 parent 2074c4b commit 3b9e33b

File tree

6 files changed

+13
-73
lines changed

6 files changed

+13
-73
lines changed

fuzz/src/onion_message.rs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use lightning::ln::script::ShutdownScript;
1111
use lightning::util::enforcing_trait_impls::EnforcingSigner;
1212
use lightning::util::logger::Logger;
1313
use lightning::util::ser::{Readable, Writeable, Writer};
14-
use lightning::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OffersMessage, OffersMessageHandler, OnionMessagePath, OnionMessenger, ResponseError, ResponseErrorHandler};
14+
use lightning::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OffersMessage, OffersMessageHandler, OnionMessagePath, OnionMessenger};
1515

1616
use crate::utils::test_logger;
1717

@@ -73,12 +73,6 @@ impl OffersMessageHandler for TestOffersMessageHandler {
7373
}
7474
}
7575

76-
impl ResponseErrorHandler for TestOffersMessageHandler {
77-
fn handle_response_error(&self, _error: ResponseError) {
78-
unreachable!()
79-
}
80-
}
81-
8276
struct TestCustomMessage {}
8377

8478
const CUSTOM_MESSAGE_TYPE: u64 = 4242;
@@ -110,12 +104,6 @@ impl CustomOnionMessageHandler for TestCustomMessageHandler {
110104
}
111105
}
112106

113-
impl ResponseErrorHandler for TestCustomMessageHandler {
114-
fn handle_response_error(&self, _error: ResponseError) {
115-
unreachable!()
116-
}
117-
}
118-
119107
pub struct VecWriter(pub Vec<u8>);
120108
impl Writer for VecWriter {
121109
fn write_all(&mut self, buf: &[u8]) -> Result<(), ::std::io::Error> {

lightning/src/ln/peer_handler.rs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ use crate::util::ser::{VecWriter, Writeable, Writer};
2727
use crate::ln::peer_channel_encryptor::{PeerChannelEncryptor,NextNoiseStep};
2828
use crate::ln::wire;
2929
use crate::ln::wire::{Encode, Type};
30-
use crate::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, OffersMessage, OffersMessageHandler, ResponseError, ResponseErrorHandler, SimpleArcOnionMessenger, SimpleRefOnionMessenger};
30+
use crate::onion_message::{CustomOnionMessageContents, CustomOnionMessageHandler, OffersMessage, OffersMessageHandler, SimpleArcOnionMessenger, SimpleRefOnionMessenger};
3131
use crate::routing::gossip::{NetworkGraph, P2PGossipSync, NodeId, NodeAlias};
3232
use crate::util::atomic_counter::AtomicCounter;
3333
use crate::util::logger::Logger;
@@ -129,12 +129,6 @@ impl CustomOnionMessageHandler for IgnoringMessageHandler {
129129
Ok(None)
130130
}
131131
}
132-
impl ResponseErrorHandler for IgnoringMessageHandler {
133-
fn handle_response_error(&self, _error: ResponseError) {
134-
// Since handler implementations return None for a response.
135-
unreachable!();
136-
}
137-
}
138132

139133
impl CustomOnionMessageContents for Infallible {
140134
fn tlv_type(&self) -> u64 { unreachable!(); }

lightning/src/onion_message/functional_tests.rs

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use crate::blinded_path::BlindedPath;
1313
use crate::sign::{NodeSigner, Recipient};
1414
use crate::ln::features::InitFeatures;
1515
use crate::ln::msgs::{self, DecodeError, OnionMessageHandler};
16-
use super::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OffersMessage, OffersMessageHandler, OnionMessageContents, OnionMessagePath, OnionMessenger, ResponseError, ResponseErrorHandler, SendError};
16+
use super::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OffersMessage, OffersMessageHandler, OnionMessageContents, OnionMessagePath, OnionMessenger, SendError};
1717
use crate::util::ser::{Writeable, Writer};
1818
use crate::util::test_utils;
1919

@@ -63,12 +63,6 @@ impl OffersMessageHandler for TestOffersMessageHandler {
6363
}
6464
}
6565

66-
impl ResponseErrorHandler for TestOffersMessageHandler {
67-
fn handle_response_error(&self, _error: ResponseError) {
68-
todo!()
69-
}
70-
}
71-
7266
#[derive(Clone)]
7367
struct TestCustomMessage {}
7468

@@ -124,12 +118,6 @@ impl CustomOnionMessageHandler for TestCustomMessageHandler {
124118
}
125119
}
126120

127-
impl ResponseErrorHandler for TestCustomMessageHandler {
128-
fn handle_response_error(&self, _error: ResponseError) {
129-
todo!()
130-
}
131-
}
132-
133121
fn create_nodes(num_messengers: u8) -> Vec<MessengerNode> {
134122
let mut nodes = Vec::new();
135123
for i in 0..num_messengers {

lightning/src/onion_message/messenger.rs

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ pub enum SendError {
220220
///
221221
/// [`IgnoringMessageHandler`]: crate::ln::peer_handler::IgnoringMessageHandler
222222
/// [`CustomMessage`]: Self::CustomMessage
223-
pub trait CustomOnionMessageHandler: ResponseErrorHandler {
223+
pub trait CustomOnionMessageHandler {
224224
/// The message known to the handler. To support multiple message types, you may want to make this
225225
/// an enum with a variant for each supported message.
226226
type CustomMessage: CustomOnionMessageContents;
@@ -233,28 +233,6 @@ pub trait CustomOnionMessageHandler: ResponseErrorHandler {
233233
fn read_custom_message<R: io::Read>(&self, message_type: u64, buffer: &mut R) -> Result<Option<Self::CustomMessage>, msgs::DecodeError>;
234234
}
235235

236-
/// Handler for errors occurring when responding to an onion message.
237-
///
238-
/// Each message handler may choose to reply to an onion message with a response. This handler is
239-
/// used when an error occurs when responding.
240-
pub trait ResponseErrorHandler {
241-
/// Called if an error occurred when sending a response to the handled message.
242-
fn handle_response_error(&self, error: ResponseError);
243-
}
244-
245-
/// An error when replying to an onion message.
246-
#[derive(Debug, PartialEq, Eq)]
247-
pub enum ResponseError {
248-
/// Failed to get the node id from the [`NodeSigner`].
249-
GetNodeIdFailed,
250-
/// No reply path in the onion message.
251-
NoReplyPath,
252-
/// Could not find a path to the destination.
253-
PathNotFound,
254-
/// Failed to send the reply.
255-
Sending(SendError),
256-
}
257-
258236
impl<ES: Deref, NS: Deref, L: Deref, MR: Deref, OMH: Deref, CMH: Deref>
259237
OnionMessenger<ES, NS, L, MR, OMH, CMH>
260238
where
@@ -344,9 +322,9 @@ where
344322
}
345323
}
346324

347-
fn respond_with_onion_message<T: CustomOnionMessageContents, EH: ResponseErrorHandler>(
325+
fn respond_with_onion_message<T: CustomOnionMessageContents>(
348326
&self, response: OnionMessageContents<T>, path_id: Option<[u8; 32]>,
349-
reply_path: Option<BlindedPath>, error_handler: &EH
327+
reply_path: Option<BlindedPath>
350328
) {
351329
let sender = match self.node_signer.get_node_id(Recipient::Node) {
352330
Ok(node_id) => node_id,
@@ -355,7 +333,7 @@ where
355333
self.logger, "No sender to respond to onion message with path_id {:02x?}",
356334
path_id
357335
);
358-
return error_handler.handle_response_error(ResponseError::GetNodeIdFailed);
336+
return;
359337
}
360338
};
361339

@@ -368,7 +346,7 @@ where
368346
self.logger, "No reply path to respond to onion message with path_id {:02x?}",
369347
path_id
370348
);
371-
return error_handler.handle_response_error(ResponseError::NoReplyPath);
349+
return;
372350
},
373351
};
374352

@@ -379,7 +357,7 @@ where
379357
self.logger, "No path to respond to onion message with path_id {:02x?}",
380358
path_id
381359
);
382-
return error_handler.handle_response_error(ResponseError::PathNotFound);
360+
return;
383361
},
384362
};
385363

@@ -390,7 +368,7 @@ where
390368
self.logger, "Failed responding to onion message with path_id {:02x?}: {:?}",
391369
path_id, e
392370
);
393-
return error_handler.handle_response_error(ResponseError::Sending(e));
371+
return;
394372
}
395373
}
396374

@@ -490,14 +468,7 @@ where
490468
};
491469

492470
if let Some(response) = response {
493-
match response {
494-
OnionMessageContents::Offers(_) => self.respond_with_onion_message(
495-
response, path_id, reply_path, &*self.offers_handler
496-
),
497-
OnionMessageContents::Custom(_) => self.respond_with_onion_message(
498-
response, path_id, reply_path, &*self.custom_handler
499-
),
500-
}
471+
self.respond_with_onion_message(response, path_id, reply_path);
501472
}
502473
},
503474
Ok((Payload::Forward(ForwardControlTlvs::Unblinded(ForwardTlvs {

lightning/src/onion_message/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,6 @@ mod packet;
2727
mod functional_tests;
2828

2929
// Re-export structs so they can be imported with just the `onion_message::` module prefix.
30-
pub use self::messenger::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OnionMessageContents, OnionMessagePath, OnionMessenger, ResponseError, ResponseErrorHandler, SendError, SimpleArcOnionMessenger, SimpleRefOnionMessenger};
30+
pub use self::messenger::{CustomOnionMessageContents, CustomOnionMessageHandler, Destination, MessageRouter, OnionMessageContents, OnionMessagePath, OnionMessenger, SendError, SimpleArcOnionMessenger, SimpleRefOnionMessenger};
3131
pub use self::offers::{OffersMessage, OffersMessageHandler};
3232
pub(crate) use self::packet::{ControlTlvs, Packet};

lightning/src/onion_message/offers.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ use crate::offers::invoice_error::InvoiceError;
1616
use crate::offers::invoice_request::InvoiceRequest;
1717
use crate::offers::invoice::Invoice;
1818
use crate::offers::parse::ParseError;
19-
use crate::onion_message::messenger::ResponseErrorHandler;
2019
use crate::util::logger::Logger;
2120
use crate::util::ser::{Readable, ReadableArgs, Writeable, Writer};
2221

@@ -30,7 +29,7 @@ const INVOICE_ERROR_TLV_TYPE: u64 = 68;
3029
/// A handler for an [`OnionMessage`] containing a BOLT 12 Offers message as its payload.
3130
///
3231
/// [`OnionMessage`]: crate::ln::msgs::OnionMessage
33-
pub trait OffersMessageHandler: ResponseErrorHandler {
32+
pub trait OffersMessageHandler {
3433
/// Handles the given message by either responding with an [`Invoice`], sending a payment, or
3534
/// replying with an error.
3635
fn handle_message(&self, message: OffersMessage) -> Option<OffersMessage>;

0 commit comments

Comments
 (0)