class VmoBuffer
Defined at line 8301 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
Public Methods
bool IsEmpty ()
Returns whether no field is set.
bool HasUnknownData ()
Returns whether the table references unknown fields.
::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::VmoBuffer> Builder (::fidl::AnyArena & arena)
Return a builder that by defaults allocates of an arena.
::fidl::WireTableExternalBuilder< ::fuchsia_sysmem2::wire::VmoBuffer> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::VmoBuffer>> frame)
Return a builder that relies on explicitly allocating |fidl::ObjectView|s.
void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::VmoBuffer>> && frame_ptr)
void VmoBuffer ()
Defined at line 8303 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
void VmoBuffer (VmoBuffer && other)
Defined at line 8306 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
void _CloseHandles ()
VmoBuffer & operator= (VmoBuffer && other)
Defined at line 8307 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
::zx::vmo & vmo ()
`vmo` can be un-set if a participant has only
[`fuchsia.sysmem2/BufferUsage.none`] set to `NONE_USAGE` (explicitly or
implicitly by [`fuchsia.sysmem2/BufferCollection.SetConstraints`]
without `constraints` set).
bool has_vmo ()
VmoBuffer & operator= (const VmoBuffer & other)
Defined at line 8305 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
uint64_t & vmo_usable_start ()
Offset within the VMO of the first usable byte. Must be
<
the VMO's size
in bytes, and leave sufficient room for BufferMemorySettings.size_bytes
before the end of the VMO.
Currently sysmem will always set this field to 0, and in future, sysmem
won't set this field to a non-zero value unless all participants have
explicitly indicated support for non-zero vmo_usable_start (this
mechanism does not exist as of this comment). A participant that hasn't
explicitly indicated support for non-zero vmo_usable_start (all current
clients) should implicitly assume this field is set to 0 without
actually checking this field.
::zx::eventpair & close_weak_asap ()
This field is set iff `vmo` is a sysmem weak VMO handle. The client must
keep `close_weak_asap` around for as long as `vmo`, and must notice
`ZX_EVENTPAIR_PEER_CLOSED`. If that signal occurs, the client must close
`vmo` asap. Not doing so is considered a VMO leak by the client and in
that case sysmem will eventually complain loudly via syslog (currently
5s later).
bool has_close_weak_asap ()
VmoBuffer & set_vmo (::zx::vmo elem)
VmoBuffer & clear_vmo ()
VmoBuffer & set_vmo_usable_start (::fidl::ObjectView<uint64_t> elem)
VmoBuffer & set_vmo_usable_start (std::nullptr_t )
VmoBuffer & clear_vmo_usable_start ()
VmoBuffer & set_close_weak_asap (::zx::eventpair elem)
VmoBuffer & clear_close_weak_asap ()
void VmoBuffer (::fidl::AnyArena & allocator)
void VmoBuffer (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::VmoBuffer>> && frame)
This constructor allows a user controlled allocation (not using a Arena).
It should only be used when performance is key.
As soon as the frame is given to the table, it must not be used directly or for another table.
void VmoBuffer (const VmoBuffer & other)
Defined at line 8304 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
bool has_vmo_usable_start ()
void ~VmoBuffer ()
Defined at line 8309 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h
Friends
class WireTableBaseBuilder
class WireTableBaseBuilder