Skip to content

Commit e6e9f29

Browse files
committed
fix(CI): fix CI build errors
1 parent b26c375 commit e6e9f29

File tree

1 file changed

+65
-48
lines changed
  • lightning-background-processor/src

1 file changed

+65
-48
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 65 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -854,14 +854,24 @@ where
854854
event_handler(event).await
855855
})
856856
};
857+
// We should extract these out of config because the macro expects individual arguments
858+
let persister = config.persister;
859+
let chain_monitor = config.chain_monitor;
860+
let channel_manager = config.channel_manager;
861+
let onion_messenger = config.onion_messenger;
862+
let peer_manager = config.peer_manager;
863+
let gossip_sync = config.gossip_sync;
864+
let logger = config.logger;
865+
let scorer = config.scorer;
866+
857867
define_run_body!(
858-
config.persister,
859-
config.chain_monitor,
860-
config.chain_monitor.process_pending_events_async(async_event_handler).await,
861-
config.channel_manager,
862-
config.channel_manager.get_cm().process_pending_events_async(async_event_handler).await,
863-
config.onion_messenger,
864-
if let Some(om) = &config.onion_messenger {
868+
persister,
869+
chain_monitor,
870+
chain_monitor.process_pending_events_async(async_event_handler).await,
871+
channel_manager,
872+
channel_manager.get_cm().process_pending_events_async(async_event_handler).await,
873+
onion_messenger,
874+
if let Some(om) = &onion_messenger {
865875
om.get_om().process_pending_events_async(async_event_handler).await
866876
},
867877
peer_manager,
@@ -875,7 +885,7 @@ where
875885
scorer,
876886
should_break,
877887
{
878-
let om_fut = if let Some(om) = config.onion_messenger.as_ref() {
888+
let om_fut = if let Some(om) = onion_messenger.as_ref() {
879889
let fut = om.get_om().get_update_future();
880890
OptionalSelector { optional_future: Some(fut) }
881891
} else {
@@ -888,8 +898,8 @@ where
888898
OptionalSelector { optional_future: None }
889899
};
890900
let fut = Selector {
891-
a: config.channel_manager.get_cm().get_event_or_persistence_needed_future(),
892-
b: config.chain_monitor.get_update_future(),
901+
a: channel_manager.get_cm().get_event_or_persistence_needed_future(),
902+
b: chain_monitor.get_update_future(),
893903
c: om_fut,
894904
d: lm_fut,
895905
e: sleeper(if mobile_interruptable_platform {
@@ -1108,18 +1118,18 @@ impl BackgroundProcessor {
11081118
/// # Example
11091119
/// ```
11101120
/// # use lightning_background_processor::*;
1111-
/// let config = BackgroundProcessorConfigBuilder::new(
1121+
/// let mut builder = BackgroundProcessorConfigBuilder::new(
11121122
/// persister,
11131123
/// event_handler,
11141124
/// chain_monitor,
11151125
/// channel_manager,
11161126
/// gossip_sync,
11171127
/// peer_manager,
11181128
/// logger
1119-
/// )
1120-
/// .with_onion_messenger(messenger)
1121-
/// .with_scorer(scorer)
1122-
/// .build();
1129+
/// );
1130+
/// builder.with_onion_messenger(messenger);
1131+
/// .with_scorer(scorer);
1132+
/// let config = builder.build();
11231133
/// let bg_processor = BackgroundProcessor::from_config(config);
11241134
/// ```
11251135
pub fn from_config<
@@ -1258,18 +1268,18 @@ impl BackgroundProcessor {
12581268
/// # Example
12591269
/// ```
12601270
/// # use lightning_background_processor::*;
1261-
/// let config = BackgroundProcessorConfigBuilder::new(
1271+
/// let mut builder = BackgroundProcessorConfigBuilder::new(
12621272
/// persister,
12631273
/// event_handler,
12641274
/// chain_monitor,
12651275
/// channel_manager,
12661276
/// gossip_sync,
12671277
/// peer_manager,
12681278
/// logger
1269-
/// )
1270-
/// .with_onion_messenger(messenger) // Optional
1271-
/// .with_scorer(scorer) // Optional
1272-
/// .build();
1279+
/// );
1280+
/// builder.with_onion_messenger(messenger); // Optional
1281+
/// .with_scorer(scorer); // Optional
1282+
/// let config = builder.build();
12731283
///
12741284
/// // Use with BackgroundProcessor
12751285
/// let processor = BackgroundProcessor::from_config(config);
@@ -1281,7 +1291,7 @@ impl BackgroundProcessor {
12811291
/// process_events_async(config, sleeper, mobile_interruptable_platform, fetch_time).await?;"
12821292
)]
12831293
/// ```
1284-
#[cfg(feature = "std")]
1294+
#[cfg(any(feature = "std", feature = "futures"))]
12851295
pub struct BackgroundProcessorConfig<
12861296
'a,
12871297
UL: 'static + Deref + Send + Sync,
@@ -1291,7 +1301,8 @@ pub struct BackgroundProcessorConfig<
12911301
G: 'static + Deref<Target = NetworkGraph<L>> + Send + Sync,
12921302
L: 'static + Deref + Send + Sync,
12931303
P: 'static + Deref + Send + Sync,
1294-
EH: 'static + EventHandler + Send,
1304+
#[cfg(feature = "std")] EH: 'static + EventHandler + Send,
1305+
#[cfg(feature = "futures")] EH: 'static + Fn(Event) -> core::future::Future<Output = Result<(), ReplayEvent>>,
12951306
PS: 'static + Deref + Send,
12961307
M: 'static
12971308
+ Deref<Target = ChainMonitor<<CM::Target as AChannelManager>::Signer, CF, T, F, L, P>>
@@ -1418,7 +1429,7 @@ where
14181429
PM::Target: APeerManager + Send + Sync,
14191430
{
14201431
/// Creates a new builder instance.
1421-
pub(crate) fn new(
1432+
pub fn new(
14221433
persister: PS, event_handler: EH, chain_monitor: M, channel_manager: CM,
14231434
gossip_sync: GossipSync<PGS, RGS, G, UL, L>, peer_manager: PM, logger: L,
14241435
) -> Self {
@@ -1477,7 +1488,9 @@ impl Drop for BackgroundProcessor {
14771488

14781489
#[cfg(all(feature = "std", test))]
14791490
mod tests {
1480-
use super::{BackgroundProcessor, GossipSync, FRESHNESS_TIMER};
1491+
use super::{
1492+
BackgroundProcessor, BackgroundProcessorConfigBuilder, GossipSync, FRESHNESS_TIMER,
1493+
};
14811494
use bitcoin::constants::{genesis_block, ChainHash};
14821495
use bitcoin::hashes::Hash;
14831496
use bitcoin::locktime::absolute::LockTime;
@@ -2429,7 +2442,7 @@ mod tests {
24292442
Persister::new(data_dir).with_manager_error(std::io::ErrorKind::Other, "test"),
24302443
);
24312444

2432-
let config = BackgroundProcessorConfigBuilder::new(
2445+
let mut builder = BackgroundProcessorConfigBuilder::new(
24332446
persister,
24342447
|_: _| async { Ok(()) },
24352448
nodes[0].chain_monitor.clone(),
@@ -2439,10 +2452,11 @@ mod tests {
24392452
Some(Arc::clone(&nodes[0].liquidity_manager)),
24402453
Some(nodes[0].sweeper.sweeper_async()),
24412454
nodes[0].logger.clone(),
2442-
)
2443-
.with_onion_messenger(nodes[0].messenger.clone())
2444-
.with_scorer(nodes[0].scorer.clone())
2445-
.build();
2455+
);
2456+
builder
2457+
.with_onion_messenger(nodes[0].messenger.clone())
2458+
.with_scorer(nodes[0].scorer.clone());
2459+
let config = builder.build();
24462460

24472461
let bp_future = super::process_events_async(
24482462
config,
@@ -2940,7 +2954,7 @@ mod tests {
29402954
let data_dir = nodes[0].kv_store.get_data_dir();
29412955
let persister = Arc::new(Persister::new(data_dir).with_graph_persistence_notifier(sender));
29422956

2943-
let config = BackgroundProcessorConfigBuilder::new(
2957+
let mut builder = BackgroundProcessorConfigBuilder::new(
29442958
persister,
29452959
|_: _| async { Ok(()) },
29462960
nodes[0].chain_monitor.clone(),
@@ -2950,10 +2964,11 @@ mod tests {
29502964
Some(Arc::clone(&nodes[0].liquidity_manager)),
29512965
Some(nodes[0].sweeper.sweeper_async()),
29522966
nodes[0].logger.clone(),
2953-
)
2954-
.with_onion_messenger(nodes[0].messenger.clone())
2955-
.with_scorer(nodes[0].scorer.clone())
2956-
.build();
2967+
);
2968+
builder
2969+
.with_onion_messenger(nodes[0].messenger.clone())
2970+
.with_scorer(nodes[0].scorer.clone());
2971+
let config = builder.build();
29572972

29582973
let (exit_sender, exit_receiver) = tokio::sync::watch::channel(());
29592974
let bp_future = super::process_events_async(
@@ -3161,7 +3176,7 @@ mod tests {
31613176

31623177
let (exit_sender, exit_receiver) = tokio::sync::watch::channel(());
31633178

3164-
let config = BackgroundProcessorConfigBuilder::new(
3179+
let mut builder = BackgroundProcessorConfigBuilder::new(
31653180
persister,
31663181
event_handler,
31673182
nodes[0].chain_monitor.clone(),
@@ -3171,10 +3186,11 @@ mod tests {
31713186
Some(Arc::clone(&nodes[0].liquidity_manager)),
31723187
Some(nodes[0].sweeper.sweeper_async()),
31733188
nodes[0].logger.clone(),
3174-
)
3175-
.with_onion_messenger(nodes[0].messenger.clone())
3176-
.with_scorer(nodes[0].scorer.clone())
3177-
.build();
3189+
);
3190+
builder
3191+
.with_onion_messenger(nodes[0].messenger.clone())
3192+
.with_scorer(nodes[0].scorer.clone());
3193+
let config = builder.build();
31783194

31793195
let bp_future = super::process_events_async(
31803196
config,
@@ -3209,11 +3225,11 @@ mod tests {
32093225
}
32103226

32113227
#[test]
3212-
fn test_background_processor_builder() {
3228+
fn test_background_processor_config_builder() {
32133229
// Test that when a new channel is created, the ChannelManager needs to be re-persisted with
32143230
// updates. Also test that when new updates are available, the manager signals that it needs
32153231
// re-persistence and is successfully re-persisted.
3216-
let (persist_dir, nodes) = create_nodes(2, "test_background_processor_builder");
3232+
let (persist_dir, nodes) = create_nodes(2, "test_background_processor_config_builder");
32173233

32183234
// Go through the channel creation process so that each node has something to persist. Since
32193235
// open_channel consumes events, it must complete before starting BackgroundProcessor to
@@ -3224,18 +3240,19 @@ mod tests {
32243240
let data_dir = nodes[0].kv_store.get_data_dir();
32253241
let persister = Arc::new(Persister::new(data_dir));
32263242
let event_handler = |_: _| Ok(());
3227-
let config = BackgroundProcessorConfigBuilder::new(
3243+
let mut builder = BackgroundProcessorConfigBuilder::new(
32283244
persister,
32293245
event_handler,
32303246
nodes[0].chain_monitor.clone(),
32313247
nodes[0].node.clone(),
32323248
nodes[0].p2p_gossip_sync(),
32333249
nodes[0].peer_manager.clone(),
32343250
nodes[0].logger.clone(),
3235-
)
3236-
.with_onion_messenger(nodes[0].messenger.clone())
3237-
.with_scorer(nodes[0].scorer.clone())
3238-
.build();
3251+
);
3252+
builder
3253+
.with_onion_messenger(nodes[0].messenger.clone())
3254+
.with_scorer(nodes[0].scorer.clone());
3255+
let config = builder.build();
32393256

32403257
let bg_processor = BackgroundProcessor::from_config(config);
32413258

@@ -3287,7 +3304,7 @@ mod tests {
32873304
.unwrap();
32883305

32893306
// Check that the force-close updates are persisted
3290-
check_persisted_data!(nodes[0].node, manager_path.clone());
3307+
check_persisted_data!(nodes[0].node, filepath.clone());
32913308
loop {
32923309
if !nodes[0].node.get_event_or_persist_condvar_value() {
32933310
break;
@@ -3297,7 +3314,7 @@ mod tests {
32973314
// Check network graph is persisted
32983315
let filepath =
32993316
get_full_filepath(format!("{}_persister_0", &persist_dir), "network_graph".to_string());
3300-
check_persisted_data!(nodes[0].network_graph, filepath);
3317+
check_persisted_data!(nodes[0].network_graph, filepath.clone());
33013318

33023319
// Check scorer is persisted
33033320
let filepath =

0 commit comments

Comments
 (0)