pub struct Range {
pub vmo: Vmo,
pub offset: u64,
pub size: u64,
}
Expand description
A range of bytes within a VMO.
Fields§
§vmo: Vmo
The vmo that contains the bytes.
offset: u64
The offset of the first byte within the range relative to the start of the VMO.
For example, if offset
is zero, then the first byte in the range is
the first byte in the VMO.
size: u64
The number of bytes in the range.
For example, if the offset is 3 and the size is 2, and the VMO starts with “abcdefg…”, then the range contains “de”.
The sum of the offset and the size must not be greater than the physical size of the VMO.
Trait Implementations§
Source§impl Decode<Range, DefaultFuchsiaResourceDialect> for Range
impl Decode<Range, DefaultFuchsiaResourceDialect> for Range
Source§impl<T0: Encode<HandleType<Vmo, { _ }, 2147483648>, DefaultFuchsiaResourceDialect>, T1: Encode<u64, DefaultFuchsiaResourceDialect>, T2: Encode<u64, DefaultFuchsiaResourceDialect>> Encode<Range, DefaultFuchsiaResourceDialect> for (T0, T1, T2)
impl<T0: Encode<HandleType<Vmo, { _ }, 2147483648>, DefaultFuchsiaResourceDialect>, T1: Encode<u64, DefaultFuchsiaResourceDialect>, T2: Encode<u64, DefaultFuchsiaResourceDialect>> Encode<Range, DefaultFuchsiaResourceDialect> for (T0, T1, T2)
Source§impl Ord for Range
impl Ord for Range
Source§impl PartialOrd for Range
impl PartialOrd for Range
Source§impl ResourceTypeMarker for Range
impl ResourceTypeMarker for Range
Source§type Borrowed<'a> = &'a mut Range
type Borrowed<'a> = &'a mut Range
The Rust type to use for encoding. This is a particular
Encode<Self>
type cheaply obtainable from &mut Self::Owned
. There are three cases: Read moreSource§fn take_or_borrow<'a>(
value: &'a mut <Self as TypeMarker>::Owned,
) -> Self::Borrowed<'a>
fn take_or_borrow<'a>( value: &'a mut <Self as TypeMarker>::Owned, ) -> Self::Borrowed<'a>
Cheaply converts from
&mut Self::Owned
to Self::Borrowed
. For
HandleBased
types this is “take” (it returns an owned handle and
replaces value
with Handle::invalid
), and for all other types it is
“borrow” (just converts from one reference to another).Source§impl TypeMarker for Range
impl TypeMarker for Range
Source§fn inline_align(_context: Context) -> usize
fn inline_align(_context: Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
Source§fn inline_size(_context: Context) -> usize
fn inline_size(_context: Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for alignment. Must be a multiple of
inline_align
.§fn encode_is_copy() -> bool
fn encode_is_copy() -> bool
Returns true if the memory layout of
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
Returns true if the memory layout of
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.impl Eq for Range
impl Standalone<DefaultFuchsiaResourceDialect> for Range
impl StructuralPartialEq for Range
Auto Trait Implementations§
impl Freeze for Range
impl RefUnwindSafe for Range
impl Send for Range
impl Sync for Range
impl Unpin for Range
impl UnwindSafe for Range
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