pub struct Buffer {
pub vmo: Vmo,
pub size: u64,
}
Expand description
A buffer for data whose size is not necessarily a multiple of the page size.
DEPRECATED: This type is superfluous and deprecated. Instead of using this type, use a zx.Handle:VMO object and store the size of the contents in the ZX_PROP_VMO_CONTENT_SIZE property.
Fields§
§vmo: Vmo
The vmo that contains the buffer.
size: u64
The number of bytes in the buffer.
The content of the buffer begin at the start of the VMO and continue
for size
bytes. To specify a range of bytes that do not start at
the beginning of the VMO, use Range
rather than buffer.
This size must not be greater than the physical size of the VMO.
Trait Implementations§
Source§impl Decode<Buffer, DefaultFuchsiaResourceDialect> for Buffer
impl Decode<Buffer, DefaultFuchsiaResourceDialect> for Buffer
Source§impl<T0: Encode<HandleType<Vmo, { _ }, 2147483648>, DefaultFuchsiaResourceDialect>, T1: Encode<u64, DefaultFuchsiaResourceDialect>> Encode<Buffer, DefaultFuchsiaResourceDialect> for (T0, T1)
impl<T0: Encode<HandleType<Vmo, { _ }, 2147483648>, DefaultFuchsiaResourceDialect>, T1: Encode<u64, DefaultFuchsiaResourceDialect>> Encode<Buffer, DefaultFuchsiaResourceDialect> for (T0, T1)
Source§impl Ord for Buffer
impl Ord for Buffer
Source§impl PartialOrd for Buffer
impl PartialOrd for Buffer
Source§impl ResourceTypeMarker for Buffer
impl ResourceTypeMarker for Buffer
Source§type Borrowed<'a> = &'a mut Buffer
type Borrowed<'a> = &'a mut Buffer
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 Buffer
impl TypeMarker for Buffer
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 Buffer
impl Standalone<DefaultFuchsiaResourceDialect> for Buffer
impl StructuralPartialEq for Buffer
Auto Trait Implementations§
impl Freeze for Buffer
impl RefUnwindSafe for Buffer
impl Send for Buffer
impl Sync for Buffer
impl Unpin for Buffer
impl UnwindSafe for Buffer
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