mirror of
https://github.com/lightningdevkit/rust-lightning.git
synced 2025-02-25 07:17:40 +01:00
Merge pull request #1744 from tnull/2022-09-fix-bp-futures-doc
Fix `background-processor` doc build for `futures`
This commit is contained in:
commit
6738fd56cf
6 changed files with 41 additions and 15 deletions
37
.github/workflows/build.yml
vendored
37
.github/workflows/build.yml
vendored
|
@ -12,7 +12,7 @@ jobs:
|
|||
beta,
|
||||
# 1.41.1 is MSRV for Rust-Lightning, lightning-invoice, and lightning-persister
|
||||
1.41.1,
|
||||
# 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, and coverage generation
|
||||
# 1.45.2 is MSRV for lightning-net-tokio, lightning-block-sync, lightning-background-processor, and coverage generation
|
||||
1.45.2,
|
||||
# 1.47.0 will be the MSRV for no-std builds using hashbrown once core2 is updated
|
||||
1.47.0]
|
||||
|
@ -20,34 +20,43 @@ jobs:
|
|||
- toolchain: stable
|
||||
build-net-tokio: true
|
||||
build-no-std: true
|
||||
build-futures: true
|
||||
- toolchain: stable
|
||||
platform: macos-latest
|
||||
build-net-tokio: true
|
||||
build-no-std: true
|
||||
build-futures: true
|
||||
- toolchain: beta
|
||||
platform: macos-latest
|
||||
build-net-tokio: true
|
||||
build-no-std: true
|
||||
build-futures: true
|
||||
- toolchain: stable
|
||||
platform: windows-latest
|
||||
build-net-tokio: true
|
||||
build-no-std: true
|
||||
build-futures: true
|
||||
- toolchain: beta
|
||||
platform: windows-latest
|
||||
build-net-tokio: true
|
||||
build-no-std: true
|
||||
build-futures: true
|
||||
- toolchain: beta
|
||||
build-net-tokio: true
|
||||
build-no-std: true
|
||||
build-futures: true
|
||||
- toolchain: 1.41.1
|
||||
build-no-std: false
|
||||
test-log-variants: true
|
||||
build-futures: false
|
||||
- toolchain: 1.45.2
|
||||
build-net-old-tokio: true
|
||||
build-net-tokio: true
|
||||
build-no-std: false
|
||||
build-futures: true
|
||||
coverage: true
|
||||
- toolchain: 1.47.0
|
||||
build-futures: true
|
||||
build-no-std: true
|
||||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
|
@ -109,7 +118,7 @@ jobs:
|
|||
- name: Test on Rust ${{ matrix.toolchain }} with net-tokio and full code-linking for coverage generation
|
||||
if: matrix.coverage
|
||||
run: RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always
|
||||
- name: Test on no-std bullds Rust ${{ matrix.toolchain }}
|
||||
- name: Test no-std builds on Rust ${{ matrix.toolchain }}
|
||||
if: "matrix.build-no-std && !matrix.coverage"
|
||||
shell: bash # Default on Winblows is powershell
|
||||
run: |
|
||||
|
@ -140,15 +149,26 @@ jobs:
|
|||
run: |
|
||||
cd lightning
|
||||
RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --no-default-features --features no-std
|
||||
cd ..
|
||||
- name: Test futures builds on Rust ${{ matrix.toolchain }}
|
||||
if: "matrix.build-futures && !matrix.coverage"
|
||||
shell: bash # Default on Winblows is powershell
|
||||
run: |
|
||||
cd lightning-background-processor
|
||||
cargo test --verbose --color always --no-default-features --features futures
|
||||
- name: Test futures builds on Rust ${{ matrix.toolchain }} and full code-linking for coverage generation
|
||||
if: "matrix.build-futures && matrix.coverage"
|
||||
shell: bash # Default on Winblows is powershell
|
||||
run: |
|
||||
cd lightning-background-processor
|
||||
RUSTFLAGS="-C link-dead-code" cargo test --verbose --color always --no-default-features --features futures
|
||||
- name: Test on Rust ${{ matrix.toolchain }}
|
||||
if: "! matrix.build-net-tokio"
|
||||
run: |
|
||||
cargo test --verbose --color always -p lightning
|
||||
cargo test --verbose --color always -p lightning-invoice
|
||||
cargo test --verbose --color always -p lightning-rapid-gossip-sync
|
||||
cargo build --verbose --color always -p lightning-persister
|
||||
cargo build --verbose --color always -p lightning-background-processor
|
||||
cargo test --verbose --color always -p lightning
|
||||
cargo test --verbose --color always -p lightning-invoice
|
||||
cargo test --verbose --color always -p lightning-rapid-gossip-sync
|
||||
cargo test --verbose --color always -p lightning-persister
|
||||
cargo test --verbose --color always -p lightning-background-processor
|
||||
- name: Test C Bindings Modifications on Rust ${{ matrix.toolchain }}
|
||||
if: "! matrix.build-net-tokio"
|
||||
run: |
|
||||
|
@ -299,6 +319,7 @@ jobs:
|
|||
run: |
|
||||
cargo check --release
|
||||
cargo check --no-default-features --features=no-std --release
|
||||
cargo check --no-default-features --features=futures --release
|
||||
cargo doc --release
|
||||
|
||||
fuzz:
|
||||
|
|
|
@ -13,11 +13,14 @@ edition = "2018"
|
|||
all-features = true
|
||||
rustdoc-args = ["--cfg", "docsrs"]
|
||||
|
||||
[features]
|
||||
futures = [ "futures-util" ]
|
||||
|
||||
[dependencies]
|
||||
bitcoin = "0.29.0"
|
||||
lightning = { version = "0.0.111", path = "../lightning", features = ["std"] }
|
||||
lightning-rapid-gossip-sync = { version = "0.0.111", path = "../lightning-rapid-gossip-sync" }
|
||||
futures = { version = "0.3", optional = true }
|
||||
futures-util = { version = "0.3", default-features = false, features = ["async-await-macro"], optional = true }
|
||||
|
||||
[dev-dependencies]
|
||||
lightning = { version = "0.0.111", path = "../lightning", features = ["_test_utils"] }
|
||||
|
|
|
@ -35,7 +35,7 @@ use std::time::{Duration, Instant};
|
|||
use std::ops::Deref;
|
||||
|
||||
#[cfg(feature = "futures")]
|
||||
use futures::{select, future::FutureExt};
|
||||
use futures_util::{select_biased, future::FutureExt};
|
||||
|
||||
/// `BackgroundProcessor` takes care of tasks that (1) need to happen periodically to keep
|
||||
/// Rust-Lightning running properly, and (2) either can or should be run in the background. Its
|
||||
|
@ -378,6 +378,7 @@ pub async fn process_events_async<
|
|||
Descriptor: 'static + SocketDescriptor + Send + Sync,
|
||||
CMH: 'static + Deref + Send + Sync,
|
||||
RMH: 'static + Deref + Send + Sync,
|
||||
OMH: 'static + Deref + Send + Sync,
|
||||
EH: 'static + EventHandler + Send,
|
||||
PS: 'static + Deref + Send,
|
||||
M: 'static + Deref<Target = ChainMonitor<Signer, CF, T, F, L, P>> + Send + Sync,
|
||||
|
@ -385,7 +386,7 @@ pub async fn process_events_async<
|
|||
PGS: 'static + Deref<Target = P2PGossipSync<G, CA, L>> + Send + Sync,
|
||||
RGS: 'static + Deref<Target = RapidGossipSync<G, L>> + Send,
|
||||
UMH: 'static + Deref + Send + Sync,
|
||||
PM: 'static + Deref<Target = PeerManager<Descriptor, CMH, RMH, L, UMH>> + Send + Sync,
|
||||
PM: 'static + Deref<Target = PeerManager<Descriptor, CMH, RMH, OMH, L, UMH>> + Send + Sync,
|
||||
S: 'static + Deref<Target = SC> + Send + Sync,
|
||||
SC: WriteableScore<'a>,
|
||||
SleepFuture: core::future::Future<Output = bool>,
|
||||
|
@ -405,6 +406,7 @@ where
|
|||
L::Target: 'static + Logger,
|
||||
P::Target: 'static + Persist<Signer>,
|
||||
CMH::Target: 'static + ChannelMessageHandler,
|
||||
OMH::Target: 'static + OnionMessageHandler,
|
||||
RMH::Target: 'static + RoutingMessageHandler,
|
||||
UMH::Target: 'static + CustomMessageHandler,
|
||||
PS::Target: 'static + Persister<'a, Signer, CW, T, K, F, L, SC>,
|
||||
|
@ -412,7 +414,7 @@ where
|
|||
let mut should_continue = true;
|
||||
define_run_body!(persister, event_handler, chain_monitor, channel_manager,
|
||||
gossip_sync, peer_manager, logger, scorer, should_continue, {
|
||||
select! {
|
||||
select_biased! {
|
||||
_ = channel_manager.get_persistable_update_future().fuse() => true,
|
||||
cont = sleeper(Duration::from_millis(100)).fuse() => {
|
||||
should_continue = cont;
|
||||
|
|
|
@ -20,7 +20,7 @@ rpc-client = [ "serde", "serde_json", "chunked_transfer" ]
|
|||
[dependencies]
|
||||
bitcoin = "0.29.0"
|
||||
lightning = { version = "0.0.111", path = "../lightning" }
|
||||
futures = { version = "0.3" }
|
||||
futures-util = { version = "0.3" }
|
||||
tokio = { version = "1.0", features = [ "io-util", "net", "time" ], optional = true }
|
||||
serde = { version = "1.0", features = ["derive"], optional = true }
|
||||
serde_json = { version = "1.0", optional = true }
|
||||
|
|
|
@ -7,7 +7,7 @@ use crate::http::{BinaryResponse, HttpEndpoint, HttpClient, JsonResponse};
|
|||
use bitcoin::hash_types::BlockHash;
|
||||
use bitcoin::hashes::hex::ToHex;
|
||||
|
||||
use futures::lock::Mutex;
|
||||
use futures_util::lock::Mutex;
|
||||
|
||||
use std::convert::TryFrom;
|
||||
use std::convert::TryInto;
|
||||
|
|
|
@ -7,7 +7,7 @@ use crate::http::{HttpClient, HttpEndpoint, HttpError, JsonResponse};
|
|||
use bitcoin::hash_types::BlockHash;
|
||||
use bitcoin::hashes::hex::ToHex;
|
||||
|
||||
use futures::lock::Mutex;
|
||||
use futures_util::lock::Mutex;
|
||||
|
||||
use serde_json;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue