pub struct WriteReceipt { /* private fields */ }Expand description
Write receipt
写入凭据
A receipt proving that a range has been successfully written.
This receipt can only be obtained after successfully writing through
MmapFile::write_range, and can only be used to flush
the corresponding range. This provides compile-time safety guarantees:
- Can only flush ranges that have been written
- Cannot flush ranges that have not been written
证明某个范围已被成功写入的凭据。
只有通过 MmapFile::write_range 成功写入后才能获得此凭据,
并且只能用于刷新对应的范围。这提供了编译期的安全保证:
- 只能刷新已写入的范围
- 不能刷新未写入的范围
§Examples
let (file, mut allocator) = MmapFile::create_default(&path, NonZeroU64::new(ALIGNMENT).unwrap())?;
let range = allocator.allocate(NonZeroU64::new(ALIGNMENT).unwrap()).unwrap();
// Write and get receipt
// 写入并获得凭据
let receipt = file.write_range(range, &vec![42u8; ALIGNMENT as usize]);
// Use receipt to flush the range
// 使用凭据刷新该范围
file.flush_range(receipt)?;Implementations§
Source§impl WriteReceipt
impl WriteReceipt
Sourcepub fn range(&self) -> AllocatedRange
pub fn range(&self) -> AllocatedRange
Get the range corresponding to this receipt
获取凭据对应的范围
Trait Implementations§
Source§impl Clone for WriteReceipt
impl Clone for WriteReceipt
Source§fn clone(&self) -> WriteReceipt
fn clone(&self) -> WriteReceipt
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for WriteReceipt
impl Debug for WriteReceipt
Source§impl PartialEq for WriteReceipt
impl PartialEq for WriteReceipt
impl Copy for WriteReceipt
impl Eq for WriteReceipt
impl StructuralPartialEq for WriteReceipt
Auto Trait Implementations§
impl Freeze for WriteReceipt
impl RefUnwindSafe for WriteReceipt
impl Send for WriteReceipt
impl Sync for WriteReceipt
impl Unpin for WriteReceipt
impl UnwindSafe for WriteReceipt
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more