pub(super) struct L1Table {
cluster: Option<HostCluster>,
data: Box<[L1Entry]>,
cluster_bits: u32,
modified: AtomicBool,
}
Expand description
L1 table.
Fields§
§cluster: Option<HostCluster>
First cluster in the image file.
data: Box<[L1Entry]>
Table data.
cluster_bits: u32
log2 of the cluster size.
modified: AtomicBool
Whether this table has been modified since it was last written.
Implementations§
Trait Implementations§
Source§impl Table for L1Table
impl Table for L1Table
Source§const MAX_ENTRIES: usize = 4_194_304usize
const MAX_ENTRIES: usize = 4_194_304usize
Maximum number of L1 table entries.
Limit taken from QEMU; if QEMU rejects this, we can, too.
Source§type InternalEntry = L1Entry
type InternalEntry = L1Entry
Internal type for each table entry.
Source§fn from_data(data: Box<[L1Entry]>, header: &Header) -> Self
fn from_data(data: Box<[L1Entry]>, header: &Header) -> Self
Create a new table with the given contents
Source§fn get_cluster(&self) -> Option<HostCluster>
fn get_cluster(&self) -> Option<HostCluster>
Get this table’s (first) cluster in the image file.
Source§fn get_offset(&self) -> Option<HostOffset>
fn get_offset(&self) -> Option<HostOffset>
Get this table’s offset in the image file.
Source§fn set_cluster(&mut self, cluster: HostCluster)
fn set_cluster(&mut self, cluster: HostCluster)
Set this table’s (first) cluster in the image file (for writing).
Source§fn unset_cluster(&mut self)
fn unset_cluster(&mut self)
Remove the table’s association with any cluster in the image file.
Source§fn is_modified(&self) -> bool
fn is_modified(&self) -> bool
Check whether this table has been modified since it was last written.
Source§fn clear_modified(&self)
fn clear_modified(&self)
Clear the modified flag.
Source§fn set_modified(&self)
fn set_modified(&self)
Set the modified flag.
Source§fn cluster_bits(&self) -> u32
fn cluster_bits(&self) -> u32
Return log2 of the cluster size. Read more
Source§fn cluster_count(&self) -> ClusterCount
fn cluster_count(&self) -> ClusterCount
Number of clusters used by this table.
Source§async fn load<S: Storage>(
image: &S,
header: &Header,
cluster: HostCluster,
entries: usize,
) -> Result<Self>
async fn load<S: Storage>( image: &S, header: &Header, cluster: HostCluster, entries: usize, ) -> Result<Self>
Load a table from the image file.
Auto Trait Implementations§
impl !Freeze for L1Table
impl RefUnwindSafe for L1Table
impl Send for L1Table
impl Sync for L1Table
impl Unpin for L1Table
impl UnwindSafe for L1Table
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