pub unsafe trait AnyFrameMeta:
Any
+ Send
+ Sync {
// Provided methods
fn on_drop(&mut self, _reader: &mut VmReader<'_, Infallible>) { ... }
fn is_untyped(&self) -> bool { ... }
}Expand description
All frame metadata types must implement this trait.
If a frame type needs specific drop behavior, it should specify
when implementing this trait. When we drop the last handle to
this frame, the on_drop method will be called. The on_drop
method is called with the physical address of the frame.
The implemented structure should have a size less than or equal to
FRAME_METADATA_MAX_SIZE and an alignment less than or equal to
FRAME_METADATA_MAX_ALIGN. Otherwise, the metadata type cannot
be used because storing it will fail compile-time assertions.
§Safety
If on_drop reads the page using the provided VmReader, the
implementer must ensure that the frame is safe to read.
Provided Methods§
Sourcefn on_drop(&mut self, _reader: &mut VmReader<'_, Infallible>)
fn on_drop(&mut self, _reader: &mut VmReader<'_, Infallible>)
Called when the last handle to the frame is dropped.
Sourcefn is_untyped(&self) -> bool
fn is_untyped(&self) -> bool
Whether the metadata’s associated frame is untyped.
If a type implements AnyUFrameMeta, this should be true.
Otherwise, it should be false.