Struct Checkpoint
pub struct Checkpoint {
pub header: CheckpointHeader,
pub metadata: CheckpointMetadata,
pub chunks: Vec<DataChunk>,
}Expand description
Complete checkpoint containing all kernel state.
Fields§
§header: CheckpointHeaderCheckpoint header.
metadata: CheckpointMetadataKernel metadata.
chunks: Vec<DataChunk>Data chunks.
Implementations§
§impl Checkpoint
impl Checkpoint
pub fn new(metadata: CheckpointMetadata) -> Checkpoint
pub fn new(metadata: CheckpointMetadata) -> Checkpoint
Create a new checkpoint.
pub fn add_control_block(&mut self, data: Vec<u8>)
pub fn add_control_block(&mut self, data: Vec<u8>)
Add control block data.
pub fn add_h2k_queue(&mut self, data: Vec<u8>)
pub fn add_h2k_queue(&mut self, data: Vec<u8>)
Add H2K queue data.
pub fn add_k2h_queue(&mut self, data: Vec<u8>)
pub fn add_k2h_queue(&mut self, data: Vec<u8>)
Add K2H queue data.
pub fn add_hlc_state(&mut self, data: Vec<u8>)
pub fn add_hlc_state(&mut self, data: Vec<u8>)
Add HLC state.
pub fn add_device_memory(&mut self, name: &str, data: Vec<u8>)
pub fn add_device_memory(&mut self, name: &str, data: Vec<u8>)
Add device memory region.
pub fn get_chunks(&self, chunk_type: ChunkType) -> Vec<&DataChunk>
pub fn get_chunks(&self, chunk_type: ChunkType) -> Vec<&DataChunk>
Get all chunks of a type.
pub fn total_size(&self) -> usize
pub fn total_size(&self) -> usize
Calculate total size in bytes.
pub fn from_bytes(bytes: &[u8]) -> Result<Checkpoint, RingKernelError>
pub fn from_bytes(bytes: &[u8]) -> Result<Checkpoint, RingKernelError>
Deserialize checkpoint from bytes.
Trait Implementations§
§impl Clone for Checkpoint
impl Clone for Checkpoint
§fn clone(&self) -> Checkpoint
fn clone(&self) -> Checkpoint
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 moreAuto Trait Implementations§
impl Freeze for Checkpoint
impl RefUnwindSafe for Checkpoint
impl Send for Checkpoint
impl Sync for Checkpoint
impl Unpin for Checkpoint
impl UnwindSafe for Checkpoint
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.