Renames API (#1186)

Co-authored-by: Javier Viola <javier@parity.io>
This commit is contained in:
gupnik
2023-09-01 12:16:07 +05:30
committed by GitHub
parent a33d7922f8
commit 16fe5be02f
12 changed files with 58 additions and 58 deletions
+1 -1
View File
@@ -1027,7 +1027,7 @@ macro_rules! decl_test_networks {
use $crate::{Bounded, ProcessMessage, WeightMeter};
use sp_core::Encode;
while let Some((from_para_id, msg)) = $crate::UPWARD_MESSAGES.with(|b| b.borrow_mut().get_mut(Self::name()).unwrap().pop_front()) {
let mut weight_meter = WeightMeter::max_limit();
let mut weight_meter = WeightMeter::new();
<$relay_chain>::ext_wrapper(|| {
let _ = <$relay_chain as RelayChain>::MessageProcessor::process_message(
&msg[..],
@@ -110,7 +110,7 @@ mod tests {
// Errors if we stay below a weight limit of 1000.
for i in 0..10 {
let meter = &mut WeightMeter::from_limit((i * 10).into());
let meter = &mut WeightMeter::with_limit((i * 10).into());
let mut id = [0; 32];
assert_err!(
Processor::process_message(msg, ORIGIN, meter, &mut id),
@@ -120,7 +120,7 @@ mod tests {
}
// Works with a limit of 1000.
let meter = &mut WeightMeter::from_limit(1000.into());
let meter = &mut WeightMeter::with_limit(1000.into());
let mut id = [0; 32];
assert_ok!(Processor::process_message(msg, ORIGIN, meter, &mut id));
assert_eq!(meter.consumed(), 1000.into());
@@ -150,6 +150,6 @@ mod tests {
}
fn process_raw(raw: &[u8]) -> Result<bool, ProcessMessageError> {
Processor::process_message(raw, ORIGIN, &mut WeightMeter::max_limit(), &mut [0; 32])
Processor::process_message(raw, ORIGIN, &mut WeightMeter::new(), &mut [0; 32])
}
}
+1 -1
View File
@@ -324,7 +324,7 @@ macro_rules! decl_test_network {
let mut _id = [0; 32];
let r = <$relay_chain>::process_message(
encoded.as_slice(), para_id,
&mut $crate::WeightMeter::max_limit(),
&mut $crate::WeightMeter::new(),
&mut _id,
);
match r {
+1 -1
View File
@@ -41,7 +41,7 @@ impl<T: Config> Pallet<T> {
_ => return Weight::zero(),
};
let mut meter = WeightMeter::max_limit();
let mut meter = WeightMeter::new();
if Self::process_core_count(&mut status) {
meter.consume(T::WeightInfo::process_core_count(status.core_count.into()));
+2 -2
View File
@@ -188,7 +188,7 @@ pub mod pallet {
}
fn on_idle(_: BlockNumberFor<T>, remaining_weight: Weight) -> Weight {
let mut meter = WeightMeter::from_limit(remaining_weight);
let mut meter = WeightMeter::with_limit(remaining_weight);
if meter.try_consume(T::WeightInfo::empty_on_idle()).is_err() {
return T::WeightInfo::empty_on_idle()
}
@@ -197,7 +197,7 @@ pub mod pallet {
Storage::<T>::get().saturating_mul_int(meter.remaining().proof_size());
let computation_weight_limit =
Compute::<T>::get().saturating_mul_int(meter.remaining().ref_time());
let mut meter = WeightMeter::from_limit(Weight::from_parts(
let mut meter = WeightMeter::with_limit(Weight::from_parts(
computation_weight_limit,
proof_size_limit,
));
+2 -2
View File
@@ -252,7 +252,7 @@ fn on_idle_weight_over_unity_is_close_enough_works() {
fn waste_at_most_ref_time_weight_close_enough() {
new_test_ext().execute_with(|| {
let mut meter =
WeightMeter::from_limit(Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND, u64::MAX));
WeightMeter::with_limit(Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND, u64::MAX));
// Over-spending fails defensively.
Glutton::waste_at_most_ref_time(&mut meter);
@@ -269,7 +269,7 @@ fn waste_at_most_ref_time_weight_close_enough() {
fn waste_at_most_proof_size_weight_close_enough() {
new_test_ext().execute_with(|| {
let mut meter =
WeightMeter::from_limit(Weight::from_parts(u64::MAX, WEIGHT_PROOF_SIZE_PER_MB * 5));
WeightMeter::with_limit(Weight::from_parts(u64::MAX, WEIGHT_PROOF_SIZE_PER_MB * 5));
// Over-spending fails defensively.
Glutton::waste_at_most_proof_size(&mut meter);
@@ -78,7 +78,7 @@ mod benchmarks {
fn service_queue_base() {
#[block]
{
MessageQueue::<T>::service_queue(0.into(), &mut WeightMeter::max_limit(), Weight::MAX);
MessageQueue::<T>::service_queue(0.into(), &mut WeightMeter::new(), Weight::MAX);
}
}
@@ -89,7 +89,7 @@ mod benchmarks {
let page = PageOf::<T>::default();
Pages::<T>::insert(&origin, 0, &page);
let mut book_state = single_page_book::<T>();
let mut meter = WeightMeter::max_limit();
let mut meter = WeightMeter::new();
let limit = Weight::MAX;
#[block]
@@ -108,7 +108,7 @@ mod benchmarks {
page.remaining = 1.into();
Pages::<T>::insert(&origin, 0, &page);
let mut book_state = single_page_book::<T>();
let mut meter = WeightMeter::max_limit();
let mut meter = WeightMeter::new();
let limit = Weight::MAX;
#[block]
@@ -124,7 +124,7 @@ mod benchmarks {
let mut page = page::<T>(&msg.clone());
let mut book = book_for::<T>(&page);
assert!(page.peek_first().is_some(), "There is one message");
let mut weight = WeightMeter::max_limit();
let mut weight = WeightMeter::new();
#[block]
{
@@ -158,7 +158,7 @@ mod benchmarks {
#[benchmark]
fn bump_service_head() {
setup_bump_service_head::<T>(0.into(), 10.into());
let mut weight = WeightMeter::max_limit();
let mut weight = WeightMeter::new();
#[block]
{
+4 -4
View File
@@ -832,7 +832,7 @@ impl<T: Config> Pallet<T> {
);
ensure!(!is_processed, Error::<T>::AlreadyProcessed);
use MessageExecutionStatus::*;
let mut weight_counter = WeightMeter::from_limit(weight_limit);
let mut weight_counter = WeightMeter::with_limit(weight_limit);
match Self::process_message_payload(
origin.clone(),
page_index,
@@ -1150,7 +1150,7 @@ impl<T: Config> Pallet<T> {
//loop around this origin
let starting_origin = ServiceHead::<T>::get().unwrap();
while let Some(head) = Self::bump_service_head(&mut WeightMeter::max_limit()) {
while let Some(head) = Self::bump_service_head(&mut WeightMeter::new()) {
ensure!(
BookStateFor::<T>::contains_key(&head),
"Service head must point to an existing book"
@@ -1362,7 +1362,7 @@ impl<T: Config> ServiceQueues for Pallet<T> {
fn service_queues(weight_limit: Weight) -> Weight {
// The maximum weight that processing a single message may take.
let overweight_limit = weight_limit;
let mut weight = WeightMeter::from_limit(weight_limit);
let mut weight = WeightMeter::with_limit(weight_limit);
let mut next = match Self::bump_service_head(&mut weight) {
Some(h) => h,
@@ -1402,7 +1402,7 @@ impl<T: Config> ServiceQueues for Pallet<T> {
weight_limit: Weight,
(message_origin, page, index): Self::OverweightMessageAddress,
) -> Result<Weight, ExecuteOverweightError> {
let mut weight = WeightMeter::from_limit(weight_limit);
let mut weight = WeightMeter::with_limit(weight_limit);
if weight
.try_consume(
T::WeightInfo::execute_overweight_page_removed()
+16 -16
View File
@@ -381,7 +381,7 @@ fn service_queue_bails() {
// Not enough weight for `service_queue_base`.
build_and_execute::<Test>(|| {
set_weight("service_queue_base", 2.into_weight());
let mut meter = WeightMeter::from_limit(1.into_weight());
let mut meter = WeightMeter::with_limit(1.into_weight());
assert_storage_noop!(MessageQueue::service_queue(0u32.into(), &mut meter, Weight::MAX));
assert!(meter.consumed().is_zero());
@@ -389,7 +389,7 @@ fn service_queue_bails() {
// Not enough weight for `ready_ring_unknit`.
build_and_execute::<Test>(|| {
set_weight("ready_ring_unknit", 2.into_weight());
let mut meter = WeightMeter::from_limit(1.into_weight());
let mut meter = WeightMeter::with_limit(1.into_weight());
assert_storage_noop!(MessageQueue::service_queue(0u32.into(), &mut meter, Weight::MAX));
assert!(meter.consumed().is_zero());
@@ -399,7 +399,7 @@ fn service_queue_bails() {
set_weight("service_queue_base", 2.into_weight());
set_weight("ready_ring_unknit", 2.into_weight());
let mut meter = WeightMeter::from_limit(3.into_weight());
let mut meter = WeightMeter::with_limit(3.into_weight());
assert_storage_noop!(MessageQueue::service_queue(0.into(), &mut meter, Weight::MAX));
assert!(meter.consumed().is_zero());
});
@@ -426,7 +426,7 @@ fn service_page_works() {
msgs -= process;
// Enough weight to process `process` messages.
let mut meter = WeightMeter::from_limit(((2 + (3 + 1) * process) as u64).into_weight());
let mut meter = WeightMeter::with_limit(((2 + (3 + 1) * process) as u64).into_weight());
System::reset_events();
let (processed, status) =
crate::Pallet::<Test>::service_page(&Here, &mut book, &mut meter, Weight::MAX);
@@ -449,7 +449,7 @@ fn service_page_bails() {
// Not enough weight for `service_page_base_completion`.
build_and_execute::<Test>(|| {
set_weight("service_page_base_completion", 2.into_weight());
let mut meter = WeightMeter::from_limit(1.into_weight());
let mut meter = WeightMeter::with_limit(1.into_weight());
let (page, _) = full_page::<Test>();
let mut book = book_for::<Test>(&page);
@@ -466,7 +466,7 @@ fn service_page_bails() {
// Not enough weight for `service_page_base_no_completion`.
build_and_execute::<Test>(|| {
set_weight("service_page_base_no_completion", 2.into_weight());
let mut meter = WeightMeter::from_limit(1.into_weight());
let mut meter = WeightMeter::with_limit(1.into_weight());
let (page, _) = full_page::<Test>();
let mut book = book_for::<Test>(&page);
@@ -487,7 +487,7 @@ fn service_page_item_bails() {
build_and_execute::<Test>(|| {
let _guard = StorageNoopGuard::default();
let (mut page, _) = full_page::<Test>();
let mut weight = WeightMeter::from_limit(10.into_weight());
let mut weight = WeightMeter::with_limit(10.into_weight());
let overweight_limit = 10.into_weight();
set_weight("service_page_item", 11.into_weight());
@@ -518,7 +518,7 @@ fn service_page_suspension_works() {
Pages::<Test>::insert(Here, 0, page);
// First we process 5 messages from this page.
let mut meter = WeightMeter::from_limit(5.into_weight());
let mut meter = WeightMeter::with_limit(5.into_weight());
let (_, status) =
crate::Pallet::<Test>::service_page(&Here, &mut book, &mut meter, Weight::MAX);
@@ -534,7 +534,7 @@ fn service_page_suspension_works() {
let (_, status) = crate::Pallet::<Test>::service_page(
&Here,
&mut book,
&mut WeightMeter::max_limit(),
&mut WeightMeter::new(),
Weight::MAX,
);
assert_eq!(status, NoProgress);
@@ -546,7 +546,7 @@ fn service_page_suspension_works() {
let (_, status) = crate::Pallet::<Test>::service_page(
&Here,
&mut book,
&mut WeightMeter::max_limit(),
&mut WeightMeter::new(),
Weight::MAX,
);
assert_eq!(status, NoMore);
@@ -564,7 +564,7 @@ fn bump_service_head_works() {
// Bump 99 times.
for i in 0..99 {
let current = MessageQueue::bump_service_head(&mut WeightMeter::max_limit()).unwrap();
let current = MessageQueue::bump_service_head(&mut WeightMeter::new()).unwrap();
assert_eq!(current, [Here, There, Everywhere(0)][i % 3]);
}
@@ -581,7 +581,7 @@ fn bump_service_head_bails() {
setup_bump_service_head::<Test>(0.into(), 1.into());
let _guard = StorageNoopGuard::default();
let mut meter = WeightMeter::from_limit(1.into_weight());
let mut meter = WeightMeter::with_limit(1.into_weight());
assert!(MessageQueue::bump_service_head(&mut meter).is_none());
assert_eq!(meter.consumed(), 0.into_weight());
});
@@ -591,7 +591,7 @@ fn bump_service_head_bails() {
fn bump_service_head_trivial_works() {
build_and_execute::<Test>(|| {
set_weight("bump_service_head", 2.into_weight());
let mut meter = WeightMeter::max_limit();
let mut meter = WeightMeter::new();
assert_eq!(MessageQueue::bump_service_head(&mut meter), None, "Cannot bump");
assert_eq!(meter.consumed(), 2.into_weight());
@@ -616,7 +616,7 @@ fn bump_service_head_no_head_noops() {
ServiceHead::<Test>::kill();
// Nothing happens.
assert_storage_noop!(MessageQueue::bump_service_head(&mut WeightMeter::max_limit()));
assert_storage_noop!(MessageQueue::bump_service_head(&mut WeightMeter::new()));
});
}
@@ -624,7 +624,7 @@ fn bump_service_head_no_head_noops() {
fn service_page_item_consumes_correct_weight() {
build_and_execute::<Test>(|| {
let mut page = page::<Test>(b"weight=3");
let mut weight = WeightMeter::from_limit(10.into_weight());
let mut weight = WeightMeter::with_limit(10.into_weight());
let overweight_limit = 0.into_weight();
set_weight("service_page_item", 2.into_weight());
@@ -648,7 +648,7 @@ fn service_page_item_consumes_correct_weight() {
fn service_page_item_skips_perm_overweight_message() {
build_and_execute::<Test>(|| {
let mut page = page::<Test>(b"TooMuch");
let mut weight = WeightMeter::from_limit(2.into_weight());
let mut weight = WeightMeter::with_limit(2.into_weight());
let overweight_limit = 0.into_weight();
set_weight("service_page_item", 2.into_weight());
@@ -131,7 +131,7 @@ benchmarks! {
let now = BlockNumberFor::<T>::from(BLOCK_NUMBER);
IncompleteSince::<T>::put(now - One::one());
}: {
Scheduler::<T>::service_agendas(&mut WeightMeter::max_limit(), now, 0);
Scheduler::<T>::service_agendas(&mut WeightMeter::new(), now, 0);
} verify {
assert_eq!(IncompleteSince::<T>::get(), Some(now - One::one()));
}
@@ -143,7 +143,7 @@ benchmarks! {
fill_schedule::<T>(now, s)?;
let mut executed = 0;
}: {
Scheduler::<T>::service_agenda(&mut WeightMeter::max_limit(), &mut executed, now, now, 0);
Scheduler::<T>::service_agenda(&mut WeightMeter::new(), &mut executed, now, now, 0);
} verify {
assert_eq!(executed, 0);
}
@@ -154,7 +154,7 @@ benchmarks! {
let now = BLOCK_NUMBER.into();
let task = make_task::<T>(false, false, false, None, 0);
// prevent any tasks from actually being executed as we only want the surrounding weight.
let mut counter = WeightMeter::from_limit(Weight::zero());
let mut counter = WeightMeter::with_limit(Weight::zero());
}: {
let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
} verify {
@@ -172,7 +172,7 @@ benchmarks! {
let now = BLOCK_NUMBER.into();
let task = make_task::<T>(false, false, false, Some(s), 0);
// prevent any tasks from actually being executed as we only want the surrounding weight.
let mut counter = WeightMeter::from_limit(Weight::zero());
let mut counter = WeightMeter::with_limit(Weight::zero());
}: {
let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
} verify {
@@ -184,7 +184,7 @@ benchmarks! {
let now = BLOCK_NUMBER.into();
let task = make_task::<T>(false, true, false, None, 0);
// prevent any tasks from actually being executed as we only want the surrounding weight.
let mut counter = WeightMeter::from_limit(Weight::zero());
let mut counter = WeightMeter::with_limit(Weight::zero());
}: {
let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
} verify {
@@ -196,7 +196,7 @@ benchmarks! {
let now = BLOCK_NUMBER.into();
let task = make_task::<T>(true, false, false, None, 0);
// prevent any tasks from actually being executed as we only want the surrounding weight.
let mut counter = WeightMeter::from_limit(Weight::zero());
let mut counter = WeightMeter::with_limit(Weight::zero());
}: {
let result = Scheduler::<T>::service_task(&mut counter, now, now, 0, true, task);
} verify {
@@ -204,7 +204,7 @@ benchmarks! {
// `execute_dispatch` when the origin is `Signed`, not counting the dispatable's weight.
execute_dispatch_signed {
let mut counter = WeightMeter::max_limit();
let mut counter = WeightMeter::new();
let origin = make_origin::<T>(true);
let call = T::Preimages::realize(&make_call::<T>(None)).unwrap().0;
}: {
@@ -215,7 +215,7 @@ benchmarks! {
// `execute_dispatch` when the origin is not `Signed`, not counting the dispatable's weight.
execute_dispatch_unsigned {
let mut counter = WeightMeter::max_limit();
let mut counter = WeightMeter::new();
let origin = make_origin::<T>(false);
let call = T::Preimages::realize(&make_call::<T>(None)).unwrap().0;
}: {
+1 -1
View File
@@ -318,7 +318,7 @@ pub mod pallet {
impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
/// Execute the scheduled calls
fn on_initialize(now: BlockNumberFor<T>) -> Weight {
let mut weight_counter = WeightMeter::from_limit(T::MaximumWeight::get());
let mut weight_counter = WeightMeter::with_limit(T::MaximumWeight::get());
Self::service_agendas(&mut weight_counter, now, u32::max_value());
weight_counter.consumed()
}
@@ -31,7 +31,7 @@ use sp_arithmetic::Perbill;
/// use sp_weights::{Weight, WeightMeter};
///
/// // The weight is limited to (10, 0).
/// let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 0));
/// let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 0));
/// // There is enough weight remaining for an operation with (6, 0) weight.
/// assert!(meter.try_consume(Weight::from_parts(6, 0)).is_ok());
/// assert_eq!(meter.remaining(), Weight::from_parts(4, 0));
@@ -51,13 +51,13 @@ pub struct WeightMeter {
impl WeightMeter {
/// Creates [`Self`] from a limit for the maximal consumable weight.
pub fn from_limit(limit: Weight) -> Self {
pub fn with_limit(limit: Weight) -> Self {
Self { consumed: Weight::zero(), limit }
}
/// Creates [`Self`] with the maximal possible limit for the consumable weight.
pub fn max_limit() -> Self {
Self::from_limit(Weight::MAX)
pub fn new() -> Self {
Self::with_limit(Weight::MAX)
}
/// The already consumed weight.
@@ -84,7 +84,7 @@ impl WeightMeter {
/// use sp_weights::{Weight, WeightMeter};
/// use sp_arithmetic::Perbill;
///
/// let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 20));
/// let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 20));
/// // Nothing consumed so far:
/// assert_eq!(meter.consumed_ratio(), Perbill::from_percent(0));
/// meter.consume(Weight::from_parts(5, 5));
@@ -158,7 +158,7 @@ mod tests {
#[test]
fn weight_meter_remaining_works() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 20));
let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 20));
assert!(meter.check_accrue(Weight::from_parts(5, 0)));
assert_eq!(meter.consumed, Weight::from_parts(5, 0));
@@ -175,7 +175,7 @@ mod tests {
#[test]
fn weight_meter_can_accrue_works() {
let meter = WeightMeter::from_limit(Weight::from_parts(1, 1));
let meter = WeightMeter::with_limit(Weight::from_parts(1, 1));
assert!(meter.can_accrue(Weight::from_parts(0, 0)));
assert!(meter.can_accrue(Weight::from_parts(1, 1)));
@@ -186,7 +186,7 @@ mod tests {
#[test]
fn weight_meter_check_accrue_works() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(2, 2));
let mut meter = WeightMeter::with_limit(Weight::from_parts(2, 2));
assert!(meter.check_accrue(Weight::from_parts(0, 0)));
assert!(meter.check_accrue(Weight::from_parts(1, 1)));
@@ -199,7 +199,7 @@ mod tests {
#[test]
fn weight_meter_check_and_can_accrue_works() {
let mut meter = WeightMeter::max_limit();
let mut meter = WeightMeter::new();
assert!(meter.can_accrue(Weight::from_parts(u64::MAX, 0)));
assert!(meter.check_accrue(Weight::from_parts(u64::MAX, 0)));
@@ -219,7 +219,7 @@ mod tests {
#[test]
fn consumed_ratio_works() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 20));
let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 20));
assert!(meter.check_accrue(Weight::from_parts(5, 0)));
assert_eq!(meter.consumed_ratio(), Perbill::from_percent(50));
@@ -239,7 +239,7 @@ mod tests {
#[test]
fn try_consume_works() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 0));
let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 0));
assert!(meter.try_consume(Weight::from_parts(11, 0)).is_err());
assert!(meter.consumed().is_zero(), "No modification");
@@ -253,7 +253,7 @@ mod tests {
#[test]
fn can_consume_works() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 0));
let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 0));
assert!(!meter.can_consume(Weight::from_parts(11, 0)));
assert!(meter.consumed().is_zero(), "No modification");
@@ -267,7 +267,7 @@ mod tests {
#[test]
#[cfg(debug_assertions)]
fn consume_works() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(5, 10));
let mut meter = WeightMeter::with_limit(Weight::from_parts(5, 10));
meter.consume(Weight::from_parts(4, 0));
assert_eq!(meter.remaining(), Weight::from_parts(1, 10));
@@ -281,7 +281,7 @@ mod tests {
#[cfg(debug_assertions)]
#[should_panic(expected = "Weight counter overflow")]
fn consume_defensive_fail() {
let mut meter = WeightMeter::from_limit(Weight::from_parts(10, 0));
let mut meter = WeightMeter::with_limit(Weight::from_parts(10, 0));
let _ = meter.consume(Weight::from_parts(11, 0));
}
}