Skip to content

Commit a7550fb

Browse files
committed
fix(CI): fix CI build errors
1 parent e598990 commit a7550fb

File tree

1 file changed

+70
-53
lines changed
  • lightning-background-processor/src

1 file changed

+70
-53
lines changed

lightning-background-processor/src/lib.rs

+70-53
Original file line numberDiff line numberDiff line change
@@ -763,7 +763,7 @@ pub async fn process_events_async<
763763
G,
764764
L,
765765
P,
766-
EH,
766+
EventHandler,
767767
PS,
768768
M,
769769
CM,
@@ -818,31 +818,41 @@ where
818818
event_handler(event).await
819819
})
820820
};
821+
// We should extract these out of config because the macro expects individual arguments
822+
let persister = config.persister;
823+
let chain_monitor = config.chain_monitor;
824+
let channel_manager = config.channel_manager;
825+
let onion_messenger = config.onion_messenger;
826+
let peer_manager = config.peer_manager;
827+
let gossip_sync = config.gossip_sync;
828+
let logger = config.logger;
829+
let scorer = config.scorer;
830+
821831
define_run_body!(
822-
config.persister,
823-
config.chain_monitor,
824-
config.chain_monitor.process_pending_events_async(async_event_handler).await,
825-
config.channel_manager,
826-
config.channel_manager.get_cm().process_pending_events_async(async_event_handler).await,
827-
config.onion_messenger,
828-
if let Some(om) = &config.onion_messenger {
832+
persister,
833+
chain_monitor,
834+
chain_monitor.process_pending_events_async(async_event_handler).await,
835+
channel_manager,
836+
channel_manager.get_cm().process_pending_events_async(async_event_handler).await,
837+
onion_messenger,
838+
if let Some(om) = &onion_messenger {
829839
om.get_om().process_pending_events_async(async_event_handler).await
830840
},
831-
config.peer_manager,
832-
config.gossip_sync,
833-
config.logger,
834-
config.scorer,
841+
peer_manager,
842+
gossip_sync,
843+
logger,
844+
scorer,
835845
should_break,
836846
{
837-
let om_fut = if let Some(om) = config.onion_messenger.as_ref() {
847+
let om_fut = if let Some(om) = onion_messenger.as_ref() {
838848
let fut = om.get_om().get_update_future();
839849
OptionalSelector { optional_future: Some(fut) }
840850
} else {
841851
OptionalSelector { optional_future: None }
842852
};
843853
let fut = Selector {
844-
a: config.channel_manager.get_cm().get_event_or_persistence_needed_future(),
845-
b: config.chain_monitor.get_update_future(),
854+
a: channel_manager.get_cm().get_event_or_persistence_needed_future(),
855+
b: chain_monitor.get_update_future(),
846856
c: om_fut,
847857
d: sleeper(if mobile_interruptable_platform {
848858
Duration::from_millis(100)
@@ -1036,18 +1046,18 @@ impl BackgroundProcessor {
10361046
/// # Example
10371047
/// ```
10381048
/// # use lightning_background_processor::*;
1039-
/// let config = BackgroundProcessorConfigBuilder::new(
1049+
/// let mut builder = BackgroundProcessorConfigBuilder::new(
10401050
/// persister,
10411051
/// event_handler,
10421052
/// chain_monitor,
10431053
/// channel_manager,
10441054
/// gossip_sync,
10451055
/// peer_manager,
10461056
/// logger
1047-
/// )
1048-
/// .with_onion_messenger(messenger)
1049-
/// .with_scorer(scorer)
1050-
/// .build();
1057+
/// );
1058+
/// builder.with_onion_messenger(messenger);
1059+
/// .with_scorer(scorer);
1060+
/// let config = builder.build();
10511061
/// let bg_processor = BackgroundProcessor::from_config(config);
10521062
/// ```
10531063
pub fn from_config<
@@ -1186,18 +1196,18 @@ impl BackgroundProcessor {
11861196
/// # Example
11871197
/// ```
11881198
/// # use lightning_background_processor::*;
1189-
/// let config = BackgroundProcessorConfigBuilder::new(
1199+
/// let mut builder = BackgroundProcessorConfigBuilder::new(
11901200
/// persister,
11911201
/// event_handler,
11921202
/// chain_monitor,
11931203
/// channel_manager,
11941204
/// gossip_sync,
11951205
/// peer_manager,
11961206
/// logger
1197-
/// )
1198-
/// .with_onion_messenger(messenger) // Optional
1199-
/// .with_scorer(scorer) // Optional
1200-
/// .build();
1207+
/// );
1208+
/// builder.with_onion_messenger(messenger); // Optional
1209+
/// .with_scorer(scorer); // Optional
1210+
/// let config = builder.build();
12011211
///
12021212
/// // Use with BackgroundProcessor
12031213
/// let processor = BackgroundProcessor::from_config(config);
@@ -1209,7 +1219,7 @@ impl BackgroundProcessor {
12091219
/// process_events_async(config, sleeper, mobile_interruptable_platform, fetch_time).await?;"
12101220
)]
12111221
/// ```
1212-
#[cfg(feature = "std")]
1222+
#[cfg(any(feature = "std", feature = "futures"))]
12131223
pub struct BackgroundProcessorConfig<
12141224
'a,
12151225
UL: 'static + Deref + Send + Sync,
@@ -1219,7 +1229,8 @@ pub struct BackgroundProcessorConfig<
12191229
G: 'static + Deref<Target = NetworkGraph<L>> + Send + Sync,
12201230
L: 'static + Deref + Send + Sync,
12211231
P: 'static + Deref + Send + Sync,
1222-
EH: 'static + EventHandler + Send,
1232+
#[cfg(feature = "std")] EH: 'static + EventHandler + Send,
1233+
#[cfg(feature = "futures")] EH: 'static + Fn(Event) -> core::future::Future<Output = Result<(), ReplayEvent>>,
12231234
PS: 'static + Deref + Send,
12241235
M: 'static
12251236
+ Deref<Target = ChainMonitor<<CM::Target as AChannelManager>::Signer, CF, T, F, L, P>>
@@ -1346,7 +1357,7 @@ where
13461357
PM::Target: APeerManager + Send + Sync,
13471358
{
13481359
/// Creates a new builder instance.
1349-
pub(crate) fn new(
1360+
pub fn new(
13501361
persister: PS, event_handler: EH, chain_monitor: M, channel_manager: CM,
13511362
gossip_sync: GossipSync<PGS, RGS, G, UL, L>, peer_manager: PM, logger: L,
13521363
) -> Self {
@@ -1405,7 +1416,9 @@ impl Drop for BackgroundProcessor {
14051416

14061417
#[cfg(all(feature = "std", test))]
14071418
mod tests {
1408-
use super::{BackgroundProcessor, GossipSync, FRESHNESS_TIMER};
1419+
use super::{
1420+
BackgroundProcessor, BackgroundProcessorConfigBuilder, GossipSync, FRESHNESS_TIMER,
1421+
};
14091422
use bitcoin::constants::{genesis_block, ChainHash};
14101423
use bitcoin::hashes::Hash;
14111424
use bitcoin::locktime::absolute::LockTime;
@@ -2338,18 +2351,19 @@ mod tests {
23382351
Persister::new(data_dir).with_manager_error(std::io::ErrorKind::Other, "test"),
23392352
);
23402353

2341-
let config = BackgroundProcessorConfigBuilder::new(
2354+
let mut builder = BackgroundProcessorConfigBuilder::new(
23422355
persister,
23432356
|_: _| async { Ok(()) },
23442357
nodes[0].chain_monitor.clone(),
23452358
nodes[0].node.clone(),
23462359
nodes[0].rapid_gossip_sync(),
23472360
nodes[0].peer_manager.clone(),
23482361
nodes[0].logger.clone(),
2349-
)
2350-
.with_onion_messenger(nodes[0].messenger.clone())
2351-
.with_scorer(nodes[0].scorer.clone())
2352-
.build();
2362+
);
2363+
builder
2364+
.with_onion_messenger(nodes[0].messenger.clone())
2365+
.with_scorer(nodes[0].scorer.clone());
2366+
let config = builder.build();
23532367

23542368
let bp_future = super::process_events_async(
23552369
config,
@@ -2822,18 +2836,19 @@ mod tests {
28222836
let data_dir = nodes[0].kv_store.get_data_dir();
28232837
let persister = Arc::new(Persister::new(data_dir).with_graph_persistence_notifier(sender));
28242838

2825-
let config = BackgroundProcessorConfigBuilder::new(
2839+
let mut builder = BackgroundProcessorConfigBuilder::new(
28262840
persister,
28272841
|_: _| async { Ok(()) },
28282842
nodes[0].chain_monitor.clone(),
28292843
nodes[0].node.clone(),
28302844
nodes[0].rapid_gossip_sync(),
28312845
nodes[0].peer_manager.clone(),
28322846
nodes[0].logger.clone(),
2833-
)
2834-
.with_onion_messenger(nodes[0].messenger.clone())
2835-
.with_scorer(nodes[0].scorer.clone())
2836-
.build();
2847+
);
2848+
builder
2849+
.with_onion_messenger(nodes[0].messenger.clone())
2850+
.with_scorer(nodes[0].scorer.clone());
2851+
let config = builder.build();
28372852

28382853
let (exit_sender, exit_receiver) = tokio::sync::watch::channel(());
28392854
let bp_future = super::process_events_async(
@@ -3040,18 +3055,19 @@ mod tests {
30403055

30413056
let (exit_sender, exit_receiver) = tokio::sync::watch::channel(());
30423057

3043-
let config = BackgroundProcessorConfigBuilder::new(
3058+
let mut builder = BackgroundProcessorConfigBuilder::new(
30443059
persister,
30453060
event_handler,
30463061
nodes[0].chain_monitor.clone(),
30473062
nodes[0].node.clone(),
30483063
nodes[0].no_gossip_sync(),
30493064
nodes[0].peer_manager.clone(),
30503065
nodes[0].logger.clone(),
3051-
)
3052-
.with_onion_messenger(nodes[0].messenger.clone())
3053-
.with_scorer(nodes[0].scorer.clone())
3054-
.build();
3066+
);
3067+
builder
3068+
.with_onion_messenger(nodes[0].messenger.clone())
3069+
.with_scorer(nodes[0].scorer.clone());
3070+
let config = builder.build();
30553071

30563072
let bp_future = super::process_events_async(
30573073
config,
@@ -3086,11 +3102,11 @@ mod tests {
30863102
}
30873103

30883104
#[test]
3089-
fn test_background_processor_builder() {
3105+
fn test_background_processor_config_builder() {
30903106
// Test that when a new channel is created, the ChannelManager needs to be re-persisted with
30913107
// updates. Also test that when new updates are available, the manager signals that it needs
30923108
// re-persistence and is successfully re-persisted.
3093-
let (persist_dir, nodes) = create_nodes(2, "test_background_processor_builder");
3109+
let (persist_dir, nodes) = create_nodes(2, "test_background_processor_config_builder");
30943110

30953111
// Go through the channel creation process so that each node has something to persist. Since
30963112
// open_channel consumes events, it must complete before starting BackgroundProcessor to
@@ -3101,18 +3117,19 @@ mod tests {
31013117
let data_dir = nodes[0].kv_store.get_data_dir();
31023118
let persister = Arc::new(Persister::new(data_dir));
31033119
let event_handler = |_: _| Ok(());
3104-
let config = BackgroundProcessorConfigBuilder::new(
3120+
let mut builder = BackgroundProcessorConfigBuilder::new(
31053121
persister,
31063122
event_handler,
31073123
nodes[0].chain_monitor.clone(),
31083124
nodes[0].node.clone(),
31093125
nodes[0].p2p_gossip_sync(),
31103126
nodes[0].peer_manager.clone(),
31113127
nodes[0].logger.clone(),
3112-
)
3113-
.with_onion_messenger(nodes[0].messenger.clone())
3114-
.with_scorer(nodes[0].scorer.clone())
3115-
.build();
3128+
);
3129+
builder
3130+
.with_onion_messenger(nodes[0].messenger.clone())
3131+
.with_scorer(nodes[0].scorer.clone());
3132+
let config = builder.build();
31163133

31173134
let bg_processor = BackgroundProcessor::from_config(config);
31183135

@@ -3164,7 +3181,7 @@ mod tests {
31643181
.unwrap();
31653182

31663183
// Check that the force-close updates are persisted
3167-
check_persisted_data!(nodes[0].node, manager_path.clone());
3184+
check_persisted_data!(nodes[0].node, filepath.clone());
31683185
loop {
31693186
if !nodes[0].node.get_event_or_persist_condvar_value() {
31703187
break;
@@ -3174,7 +3191,7 @@ mod tests {
31743191
// Check network graph is persisted
31753192
let filepath =
31763193
get_full_filepath(format!("{}_persister_0", &persist_dir), "network_graph".to_string());
3177-
check_persisted_data!(nodes[0].network_graph, filepath);
3194+
check_persisted_data!(nodes[0].network_graph, filepath.clone());
31783195

31793196
// Check scorer is persisted
31803197
let filepath =

0 commit comments

Comments
 (0)