mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-07-20 09:15:42 +00:00
Bump lru from 0.7.8 to 0.8.0 (#6060)
* Bump lru from 0.7.8 to 0.8.0 Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.7.8 to 0.8.0. - [Release notes](https://github.com/jeromefroe/lru-rs/releases) - [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md) - [Commits](https://github.com/jeromefroe/lru-rs/compare/0.7.8...0.8.0) --- updated-dependencies: - dependency-name: lru dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> * Change `LruCache` paramerter to `NonZeroUsize` * Change type of `session_cache_lru_size` to `NonZeroUsize` * Add expects instead of unwrap Co-authored-by: Bastian Köcher <info@kchr.de> * Use match to get rid of expects Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Sebastian Kunert <skunert49@gmail.com> Co-authored-by: Bastian Köcher <info@kchr.de>
This commit is contained in:
Generated
+9
-9
@@ -6167,7 +6167,7 @@ dependencies = [
|
|||||||
"fatality",
|
"fatality",
|
||||||
"futures",
|
"futures",
|
||||||
"futures-timer",
|
"futures-timer",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
"polkadot-erasure-coding",
|
"polkadot-erasure-coding",
|
||||||
"polkadot-node-network-protocol",
|
"polkadot-node-network-protocol",
|
||||||
@@ -6197,7 +6197,7 @@ dependencies = [
|
|||||||
"futures",
|
"futures",
|
||||||
"futures-timer",
|
"futures-timer",
|
||||||
"log",
|
"log",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
"polkadot-erasure-coding",
|
"polkadot-erasure-coding",
|
||||||
"polkadot-node-network-protocol",
|
"polkadot-node-network-protocol",
|
||||||
@@ -6335,7 +6335,7 @@ dependencies = [
|
|||||||
"futures",
|
"futures",
|
||||||
"futures-timer",
|
"futures-timer",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
"polkadot-erasure-coding",
|
"polkadot-erasure-coding",
|
||||||
"polkadot-node-network-protocol",
|
"polkadot-node-network-protocol",
|
||||||
@@ -6455,7 +6455,7 @@ dependencies = [
|
|||||||
"futures-timer",
|
"futures-timer",
|
||||||
"kvdb",
|
"kvdb",
|
||||||
"kvdb-memorydb",
|
"kvdb-memorydb",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"merlin",
|
"merlin",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
"parking_lot 0.12.1",
|
"parking_lot 0.12.1",
|
||||||
@@ -6624,7 +6624,7 @@ dependencies = [
|
|||||||
"futures-timer",
|
"futures-timer",
|
||||||
"kvdb",
|
"kvdb",
|
||||||
"kvdb-memorydb",
|
"kvdb-memorydb",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
"polkadot-node-primitives",
|
"polkadot-node-primitives",
|
||||||
"polkadot-node-subsystem",
|
"polkadot-node-subsystem",
|
||||||
@@ -6911,7 +6911,7 @@ dependencies = [
|
|||||||
"kvdb-shared-tests",
|
"kvdb-shared-tests",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"log",
|
"log",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"parity-db",
|
"parity-db",
|
||||||
"parity-scale-codec",
|
"parity-scale-codec",
|
||||||
"parity-util-mem",
|
"parity-util-mem",
|
||||||
@@ -6945,7 +6945,7 @@ dependencies = [
|
|||||||
"femme",
|
"femme",
|
||||||
"futures",
|
"futures",
|
||||||
"futures-timer",
|
"futures-timer",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"orchestra",
|
"orchestra",
|
||||||
"parity-util-mem",
|
"parity-util-mem",
|
||||||
"parking_lot 0.12.1",
|
"parking_lot 0.12.1",
|
||||||
@@ -7302,7 +7302,7 @@ dependencies = [
|
|||||||
"kvdb",
|
"kvdb",
|
||||||
"kvdb-rocksdb",
|
"kvdb-rocksdb",
|
||||||
"log",
|
"log",
|
||||||
"lru 0.7.8",
|
"lru 0.8.0",
|
||||||
"pallet-babe",
|
"pallet-babe",
|
||||||
"pallet-im-online",
|
"pallet-im-online",
|
||||||
"pallet-staking",
|
"pallet-staking",
|
||||||
@@ -11921,7 +11921,7 @@ version = "1.6.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
|
checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cfg-if 1.0.0",
|
"cfg-if 0.1.10",
|
||||||
"digest 0.10.3",
|
"digest 0.10.3",
|
||||||
"rand 0.8.5",
|
"rand 0.8.5",
|
||||||
"static_assertions",
|
"static_assertions",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ futures-timer = "3.0.2"
|
|||||||
parity-scale-codec = { version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
|
parity-scale-codec = { version = "3.1.5", default-features = false, features = ["bit-vec", "derive"] }
|
||||||
gum = { package = "tracing-gum", path = "../../gum" }
|
gum = { package = "tracing-gum", path = "../../gum" }
|
||||||
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
|
bitvec = { version = "1.0.0", default-features = false, features = ["alloc"] }
|
||||||
lru = "0.7"
|
lru = "0.8"
|
||||||
merlin = "2.0"
|
merlin = "2.0"
|
||||||
schnorrkel = "0.9.1"
|
schnorrkel = "0.9.1"
|
||||||
kvdb = "0.11.0"
|
kvdb = "0.11.0"
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ use std::{
|
|||||||
collections::{
|
collections::{
|
||||||
btree_map::Entry as BTMEntry, hash_map::Entry as HMEntry, BTreeMap, HashMap, HashSet,
|
btree_map::Entry as BTMEntry, hash_map::Entry as HMEntry, BTreeMap, HashMap, HashSet,
|
||||||
},
|
},
|
||||||
|
num::NonZeroUsize,
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
@@ -104,7 +105,11 @@ const APPROVAL_CHECKING_TIMEOUT: Duration = Duration::from_secs(120);
|
|||||||
/// Value rather arbitrarily: Should not be hit in practice, it exists to more easily diagnose dead
|
/// Value rather arbitrarily: Should not be hit in practice, it exists to more easily diagnose dead
|
||||||
/// lock issues for example.
|
/// lock issues for example.
|
||||||
const WAIT_FOR_SIGS_TIMEOUT: Duration = Duration::from_millis(500);
|
const WAIT_FOR_SIGS_TIMEOUT: Duration = Duration::from_millis(500);
|
||||||
const APPROVAL_CACHE_SIZE: usize = 1024;
|
const APPROVAL_CACHE_SIZE: NonZeroUsize = match NonZeroUsize::new(1024) {
|
||||||
|
Some(cap) => cap,
|
||||||
|
None => panic!("Approval cache size must be non-zero."),
|
||||||
|
};
|
||||||
|
|
||||||
const TICK_TOO_FAR_IN_FUTURE: Tick = 20; // 10 seconds.
|
const TICK_TOO_FAR_IN_FUTURE: Tick = 20; // 10 seconds.
|
||||||
const APPROVAL_DELAY: Tick = 2;
|
const APPROVAL_DELAY: Tick = 2;
|
||||||
const LOG_TARGET: &str = "parachain::approval-voting";
|
const LOG_TARGET: &str = "parachain::approval-voting";
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ gum = { package = "tracing-gum", path = "../../gum" }
|
|||||||
parity-scale-codec = "3.1.5"
|
parity-scale-codec = "3.1.5"
|
||||||
kvdb = "0.11.0"
|
kvdb = "0.11.0"
|
||||||
thiserror = "1.0.31"
|
thiserror = "1.0.31"
|
||||||
lru = "0.7.7"
|
lru = "0.8.0"
|
||||||
fatality = "0.0.6"
|
fatality = "0.0.6"
|
||||||
|
|
||||||
polkadot-primitives = { path = "../../../primitives" }
|
polkadot-primitives = { path = "../../../primitives" }
|
||||||
|
|||||||
@@ -14,7 +14,10 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use std::collections::{BTreeMap, HashSet};
|
use std::{
|
||||||
|
collections::{BTreeMap, HashSet},
|
||||||
|
num::NonZeroUsize,
|
||||||
|
};
|
||||||
|
|
||||||
use futures::channel::oneshot;
|
use futures::channel::oneshot;
|
||||||
use lru::LruCache;
|
use lru::LruCache;
|
||||||
@@ -44,7 +47,10 @@ mod tests;
|
|||||||
/// `last_observed_blocks` LRU. This means, this value should the very least be as large as the
|
/// `last_observed_blocks` LRU. This means, this value should the very least be as large as the
|
||||||
/// number of expected forks for keeping chain scraping efficient. Making the LRU much larger than
|
/// number of expected forks for keeping chain scraping efficient. Making the LRU much larger than
|
||||||
/// that has very limited use.
|
/// that has very limited use.
|
||||||
const LRU_OBSERVED_BLOCKS_CAPACITY: usize = 20;
|
const LRU_OBSERVED_BLOCKS_CAPACITY: NonZeroUsize = match NonZeroUsize::new(20) {
|
||||||
|
Some(cap) => cap,
|
||||||
|
None => panic!("Observed blocks cache size must be non-zero"),
|
||||||
|
};
|
||||||
|
|
||||||
/// Chain scraper
|
/// Chain scraper
|
||||||
///
|
///
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "maste
|
|||||||
thiserror = "1.0.31"
|
thiserror = "1.0.31"
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
derive_more = "0.99.17"
|
derive_more = "0.99.17"
|
||||||
lru = "0.7.7"
|
lru = "0.8.0"
|
||||||
fatality = "0.0.6"
|
fatality = "0.0.6"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
// You should have received a copy of the GNU General Public License
|
// You should have received a copy of the GNU General Public License
|
||||||
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
// along with Polkadot. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
use std::collections::HashSet;
|
use std::{collections::HashSet, num::NonZeroUsize};
|
||||||
|
|
||||||
use lru::LruCache;
|
use lru::LruCache;
|
||||||
use rand::{seq::SliceRandom, thread_rng};
|
use rand::{seq::SliceRandom, thread_rng};
|
||||||
@@ -85,7 +85,7 @@ impl SessionCache {
|
|||||||
pub fn new() -> Self {
|
pub fn new() -> Self {
|
||||||
SessionCache {
|
SessionCache {
|
||||||
// We need to cache the current and the last session the most:
|
// We need to cache the current and the last session the most:
|
||||||
session_info_cache: LruCache::new(2),
|
session_info_cache: LruCache::new(NonZeroUsize::new(2).unwrap()),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ edition = "2021"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
futures = "0.3.21"
|
futures = "0.3.21"
|
||||||
lru = "0.7.7"
|
lru = "0.8.0"
|
||||||
rand = "0.8.5"
|
rand = "0.8.5"
|
||||||
fatality = "0.0.6"
|
fatality = "0.0.6"
|
||||||
thiserror = "1.0.31"
|
thiserror = "1.0.31"
|
||||||
|
|||||||
@@ -20,6 +20,7 @@
|
|||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
collections::{HashMap, VecDeque},
|
collections::{HashMap, VecDeque},
|
||||||
|
num::NonZeroUsize,
|
||||||
pin::Pin,
|
pin::Pin,
|
||||||
time::Duration,
|
time::Duration,
|
||||||
};
|
};
|
||||||
@@ -77,7 +78,10 @@ const LOG_TARGET: &str = "parachain::availability-recovery";
|
|||||||
const N_PARALLEL: usize = 50;
|
const N_PARALLEL: usize = 50;
|
||||||
|
|
||||||
// Size of the LRU cache where we keep recovered data.
|
// Size of the LRU cache where we keep recovered data.
|
||||||
const LRU_SIZE: usize = 16;
|
const LRU_SIZE: NonZeroUsize = match NonZeroUsize::new(16) {
|
||||||
|
Some(cap) => cap,
|
||||||
|
None => panic!("Availability-recovery cache size must be non-zero."),
|
||||||
|
};
|
||||||
|
|
||||||
const COST_INVALID_REQUEST: Rep = Rep::CostMajor("Peer sent unparsable request");
|
const COST_INVALID_REQUEST: Rep = Rep::CostMajor("Peer sent unparsable request");
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ sp-application-crypto = { git = "https://github.com/paritytech/substrate", branc
|
|||||||
sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
sp-keystore = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
||||||
thiserror = "1.0.31"
|
thiserror = "1.0.31"
|
||||||
fatality = "0.0.6"
|
fatality = "0.0.6"
|
||||||
lru = "0.7.7"
|
lru = "0.8.0"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
async-trait = "0.1.57"
|
async-trait = "0.1.57"
|
||||||
|
|||||||
@@ -24,6 +24,8 @@
|
|||||||
//! The sender is responsible for getting our vote out, see [`sender`]. The receiver handles
|
//! The sender is responsible for getting our vote out, see [`sender`]. The receiver handles
|
||||||
//! incoming [`DisputeRequest`]s and offers spam protection, see [`receiver`].
|
//! incoming [`DisputeRequest`]s and offers spam protection, see [`receiver`].
|
||||||
|
|
||||||
|
use std::num::NonZeroUsize;
|
||||||
|
|
||||||
use futures::{channel::mpsc, FutureExt, StreamExt, TryFutureExt};
|
use futures::{channel::mpsc, FutureExt, StreamExt, TryFutureExt};
|
||||||
|
|
||||||
use polkadot_node_network_protocol::authority_discovery::AuthorityDiscovery;
|
use polkadot_node_network_protocol::authority_discovery::AuthorityDiscovery;
|
||||||
@@ -145,7 +147,8 @@ where
|
|||||||
) -> Self {
|
) -> Self {
|
||||||
let runtime = RuntimeInfo::new_with_config(runtime::Config {
|
let runtime = RuntimeInfo::new_with_config(runtime::Config {
|
||||||
keystore: Some(keystore),
|
keystore: Some(keystore),
|
||||||
session_cache_lru_size: DISPUTE_WINDOW.get() as usize,
|
session_cache_lru_size: NonZeroUsize::new(DISPUTE_WINDOW.get() as usize)
|
||||||
|
.expect("Dispute window can not be 0; qed"),
|
||||||
});
|
});
|
||||||
let (tx, sender_rx) = mpsc::channel(1);
|
let (tx, sender_rx) = mpsc::channel(1);
|
||||||
let disputes_sender = DisputeSender::new(tx, metrics.clone());
|
let disputes_sender = DisputeSender::new(tx, metrics.clone());
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
collections::HashSet,
|
collections::HashSet,
|
||||||
|
num::NonZeroUsize,
|
||||||
pin::Pin,
|
pin::Pin,
|
||||||
task::{Context, Poll},
|
task::{Context, Poll},
|
||||||
};
|
};
|
||||||
@@ -61,6 +62,11 @@ const COST_NOT_A_VALIDATOR: Rep = Rep::CostMajor("Reporting peer was not a valid
|
|||||||
/// How many statement imports we want to issue in parallel:
|
/// How many statement imports we want to issue in parallel:
|
||||||
pub const MAX_PARALLEL_IMPORTS: usize = 10;
|
pub const MAX_PARALLEL_IMPORTS: usize = 10;
|
||||||
|
|
||||||
|
const BANNED_PEERS_CACHE_SIZE: NonZeroUsize = match NonZeroUsize::new(MAX_PARALLEL_IMPORTS) {
|
||||||
|
Some(cap) => cap,
|
||||||
|
None => panic!("Banned peers cache size should not be 0."),
|
||||||
|
};
|
||||||
|
|
||||||
/// State for handling incoming `DisputeRequest` messages.
|
/// State for handling incoming `DisputeRequest` messages.
|
||||||
///
|
///
|
||||||
/// This is supposed to run as its own task in order to easily impose back pressure on the incoming
|
/// This is supposed to run as its own task in order to easily impose back pressure on the incoming
|
||||||
@@ -146,7 +152,8 @@ where
|
|||||||
) -> Self {
|
) -> Self {
|
||||||
let runtime = RuntimeInfo::new_with_config(runtime::Config {
|
let runtime = RuntimeInfo::new_with_config(runtime::Config {
|
||||||
keystore: None,
|
keystore: None,
|
||||||
session_cache_lru_size: DISPUTE_WINDOW.get() as usize,
|
session_cache_lru_size: NonZeroUsize::new(DISPUTE_WINDOW.get() as usize)
|
||||||
|
.expect("Dispute window can not be 0; qed"),
|
||||||
});
|
});
|
||||||
Self {
|
Self {
|
||||||
runtime,
|
runtime,
|
||||||
@@ -156,7 +163,7 @@ where
|
|||||||
pending_imports: PendingImports::new(),
|
pending_imports: PendingImports::new(),
|
||||||
// Size of MAX_PARALLEL_IMPORTS ensures we are going to immediately get rid of any
|
// Size of MAX_PARALLEL_IMPORTS ensures we are going to immediately get rid of any
|
||||||
// malicious requests still pending in the incoming queue.
|
// malicious requests still pending in the incoming queue.
|
||||||
banned_peers: LruCache::new(MAX_PARALLEL_IMPORTS),
|
banned_peers: LruCache::new(BANNED_PEERS_CACHE_SIZE),
|
||||||
metrics,
|
metrics,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -222,7 +229,7 @@ where
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Wait for a free slot:
|
// Wait for a free slot:
|
||||||
if self.pending_imports.len() >= MAX_PARALLEL_IMPORTS as usize {
|
if self.pending_imports.len() >= MAX_PARALLEL_IMPORTS {
|
||||||
// Wait for one to finish:
|
// Wait for one to finish:
|
||||||
let r = self.pending_imports.next().await;
|
let r = self.pending_imports.next().await;
|
||||||
self.ban_bad_peer(r.expect("pending_imports.len() is greater 0. qed."))?;
|
self.ban_bad_peer(r.expect("pending_imports.len() is greater 0. qed."))?;
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ polkadot-node-metrics = { path = "../metrics" }
|
|||||||
polkadot-primitives = { path = "../../primitives" }
|
polkadot-primitives = { path = "../../primitives" }
|
||||||
orchestra = "0.0.2"
|
orchestra = "0.0.2"
|
||||||
gum = { package = "tracing-gum", path = "../gum" }
|
gum = { package = "tracing-gum", path = "../gum" }
|
||||||
lru = "0.7"
|
lru = "0.8"
|
||||||
parity-util-mem = { version = "0.11.0", default-features = false }
|
parity-util-mem = { version = "0.11.0", default-features = false }
|
||||||
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
sp-core = { git = "https://github.com/paritytech/substrate", branch = "master" }
|
||||||
async-trait = "0.1.57"
|
async-trait = "0.1.57"
|
||||||
|
|||||||
@@ -62,6 +62,7 @@
|
|||||||
use std::{
|
use std::{
|
||||||
collections::{hash_map, HashMap},
|
collections::{hash_map, HashMap},
|
||||||
fmt::{self, Debug},
|
fmt::{self, Debug},
|
||||||
|
num::NonZeroUsize,
|
||||||
pin::Pin,
|
pin::Pin,
|
||||||
sync::Arc,
|
sync::Arc,
|
||||||
time::Duration,
|
time::Duration,
|
||||||
@@ -112,7 +113,10 @@ pub use orchestra::{
|
|||||||
|
|
||||||
/// Store 2 days worth of blocks, not accounting for forks,
|
/// Store 2 days worth of blocks, not accounting for forks,
|
||||||
/// in the LRU cache. Assumes a 6-second block time.
|
/// in the LRU cache. Assumes a 6-second block time.
|
||||||
pub const KNOWN_LEAVES_CACHE_SIZE: usize = 2 * 24 * 3600 / 6;
|
pub const KNOWN_LEAVES_CACHE_SIZE: NonZeroUsize = match NonZeroUsize::new(2 * 24 * 3600 / 6) {
|
||||||
|
Some(cap) => cap,
|
||||||
|
None => panic!("Known leaves cache size must be non-zero"),
|
||||||
|
};
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests;
|
mod tests;
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ kvdb = "0.11.0"
|
|||||||
kvdb-rocksdb = { version = "0.15.2", optional = true }
|
kvdb-rocksdb = { version = "0.15.2", optional = true }
|
||||||
parity-db = { version = "0.3.16", optional = true }
|
parity-db = { version = "0.3.16", optional = true }
|
||||||
async-trait = "0.1.57"
|
async-trait = "0.1.57"
|
||||||
lru = "0.7"
|
lru = "0.8"
|
||||||
|
|
||||||
# Polkadot
|
# Polkadot
|
||||||
polkadot-node-core-parachains-inherent = { path = "../core/parachains-inherent" }
|
polkadot-node-core-parachains-inherent = { path = "../core/parachains-inherent" }
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ thiserror = "1.0.31"
|
|||||||
fatality = "0.0.6"
|
fatality = "0.0.6"
|
||||||
gum = { package = "tracing-gum", path = "../gum" }
|
gum = { package = "tracing-gum", path = "../gum" }
|
||||||
derive_more = "0.99.17"
|
derive_more = "0.99.17"
|
||||||
lru = "0.7.7"
|
lru = "0.8.0"
|
||||||
|
|
||||||
polkadot-node-subsystem = {path = "../subsystem" }
|
polkadot-node-subsystem = {path = "../subsystem" }
|
||||||
polkadot-node-jaeger = { path = "../jaeger" }
|
polkadot-node-jaeger = { path = "../jaeger" }
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
|
|
||||||
//! Convenient interface to runtime information.
|
//! Convenient interface to runtime information.
|
||||||
|
|
||||||
use std::cmp::max;
|
use std::num::NonZeroUsize;
|
||||||
|
|
||||||
use lru::LruCache;
|
use lru::LruCache;
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ pub struct Config {
|
|||||||
pub keystore: Option<SyncCryptoStorePtr>,
|
pub keystore: Option<SyncCryptoStorePtr>,
|
||||||
|
|
||||||
/// How many sessions should we keep in the cache?
|
/// How many sessions should we keep in the cache?
|
||||||
pub session_cache_lru_size: usize,
|
pub session_cache_lru_size: NonZeroUsize,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Caching of session info.
|
/// Caching of session info.
|
||||||
@@ -95,7 +95,7 @@ impl Default for Config {
|
|||||||
Self {
|
Self {
|
||||||
keystore: None,
|
keystore: None,
|
||||||
// Usually we need to cache the current and the last session.
|
// Usually we need to cache the current and the last session.
|
||||||
session_cache_lru_size: 2,
|
session_cache_lru_size: NonZeroUsize::new(2).expect("2 is larger than 0; qed"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -109,7 +109,10 @@ impl RuntimeInfo {
|
|||||||
/// Create with more elaborate configuration options.
|
/// Create with more elaborate configuration options.
|
||||||
pub fn new_with_config(cfg: Config) -> Self {
|
pub fn new_with_config(cfg: Config) -> Self {
|
||||||
Self {
|
Self {
|
||||||
session_index_cache: LruCache::new(max(10, cfg.session_cache_lru_size)),
|
session_index_cache: LruCache::new(
|
||||||
|
cfg.session_cache_lru_size
|
||||||
|
.max(NonZeroUsize::new(10).expect("10 is larger than 0; qed")),
|
||||||
|
),
|
||||||
session_info_cache: LruCache::new(cfg.session_cache_lru_size),
|
session_info_cache: LruCache::new(cfg.session_cache_lru_size),
|
||||||
keystore: cfg.keystore,
|
keystore: cfg.keystore,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user