use crate::ops::{
replay::{
ROOT_REPLAY_RESPONSE_SCHEMA_VERSION,
guard::ReplayPending,
receipt::{commit_receipt_response, reserve_receipt_token},
},
storage::replay::ReplayReceiptOps,
};
pub fn reserve_root_slot(pending: &ReplayPending) {
reserve_receipt_token(&pending.receipt_token);
}
pub fn commit_root_slot(pending: &ReplayPending, response_bytes: Vec<u8>) {
commit_receipt_response(
&pending.receipt_token,
ROOT_REPLAY_RESPONSE_SCHEMA_VERSION,
response_bytes,
pending.issued_at_ns,
);
}
#[must_use]
pub fn root_slot_len() -> usize {
ReplayReceiptOps::len()
}
#[must_use]
pub fn active_root_slot_len_for_caller(caller: crate::cdk::types::Principal, now_ns: u64) -> usize {
ReplayReceiptOps::active_len_for_actor(
crate::ops::replay::model::ReplayActor::direct_caller(caller),
now_ns,
)
}
pub fn purge_root_expired(now_ns: u64, limit: usize) -> usize {
ReplayReceiptOps::purge_expired(now_ns, limit)
}