canic_core/ops/storage/
cycles.rs

1pub use crate::model::memory::cycles::CycleTrackerView;
2
3use crate::{dto::page::PageRequest, model::memory::cycles::CycleTracker};
4
5///
6/// CycleTrackerStorageOps
7/// Stable storage wrapper for the cycle tracker.
8///
9
10pub struct CycleTrackerStorageOps;
11
12impl CycleTrackerStorageOps {
13    #[must_use]
14    pub fn len() -> u64 {
15        CycleTracker::len()
16    }
17
18    pub fn record(now: u64, cycles: u128) {
19        CycleTracker::record(now, cycles);
20    }
21
22    #[must_use]
23    pub fn purge(now: u64) -> usize {
24        CycleTracker::purge(now)
25    }
26
27    #[must_use]
28    pub fn entries(request: PageRequest) -> CycleTrackerView {
29        CycleTracker::entries(request)
30    }
31}