pub struct Heap {
pub heap_type: Option<String>,
pub id: Option<u64>,
/* private fields */
}
Expand description
A reference to a heap instance.
A given heap instance can have more than one Heap
which can be used to
refer to the heap instance. Comparing Heap
tables without knowledge of
these Heap
aliases is not a reliable way to determine if two Heap
tables
refer to the same heap (matching means yes, but not matching means maybe).
Allowing heap aliases makes renaming Heap.type
(s) easier.
Fields§
§heap_type: Option<String>
The type of the heap, specified using a bind string defined per the schema and mechanism described in comments in the fuchsia.sysmem.heap.bind file.
Examples:
- “fuchsia.sysmem.heap.HEAP_TYPE.SYSTEM_RAM”
- “fuchsia.goldfish.platform.sysmem.heap.HEAP_TYPE.HOST_VISIBLE”
id: Option<u64>
The uint64 id of the heap. This is only required to be unique per (type,
boot) tuple. In other words, a given heap id is only meaningful within
the current boot of the machine (not across boots), and only within the
Heap.type
.
For Heap.type
(s) that refer to a singleton heap, a participant
specifying the singleton heap in
[fuchsia.sysmem2.BufferMemoryConstraints.permitted_heaps
] can leave
this field un-set, or set it to zero. Sysmem will always fill out this
field for the heap indicated in
[fuchsia.sysmem2.BufferMemmorySettings.heap
] (for a singleton heap the
id
field will be set to 0 by sysmem).
Trait Implementations§
Source§impl<D: ResourceDialect> Decode<Heap, D> for Heap
impl<D: ResourceDialect> Decode<Heap, D> for Heap
Source§impl TypeMarker for Heap
impl TypeMarker for Heap
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and encoding requires no validation. When true, we can optimize
encoding arrays and vectors of Self::Owned
to a single memcpy. Read more§fn decode_is_copy() -> bool
fn decode_is_copy() -> bool
Self::Owned
matches the FIDL wire
format and decoding requires no validation. When true, we can optimize
decoding arrays and vectors of Self::Owned
to a single memcpy.Source§impl ValueTypeMarker for Heap
impl ValueTypeMarker for Heap
impl Persistable for Heap
impl StructuralPartialEq for Heap
Auto Trait Implementations§
impl Freeze for Heap
impl RefUnwindSafe for Heap
impl Send for Heap
impl Sync for Heap
impl Unpin for Heap
impl UnwindSafe for Heap
Blanket Implementations§
§impl<T> Body for Twhere
T: Persistable,
impl<T> Body for Twhere
T: Persistable,
§type MarkerAtTopLevel = T
type MarkerAtTopLevel = T
§type MarkerInResultUnion = T
type MarkerInResultUnion = T
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)