class AllocatorGetVmoInfoResponse
Defined at line 5650 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h
Public Methods
void AllocatorGetVmoInfoResponse (Storage_ storage)
void AllocatorGetVmoInfoResponse ()
Defined at line 5655 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h
void AllocatorGetVmoInfoResponse (AllocatorGetVmoInfoResponse && )
Defined at line 5656 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h
bool IsEmpty ()
const std::optional<uint64_t> & buffer_collection_id ()
The buffer_collection_id and buffer_index together uniquely identify
a buffer per boot.
::std::optional<uint64_t> & buffer_collection_id ()
The buffer_collection_id and buffer_index together uniquely identify
a buffer per boot.
AllocatorGetVmoInfoResponse & buffer_collection_id (std::optional<uint64_t> value)
The buffer_collection_id and buffer_index together uniquely identify
a buffer per boot.
const std::optional<uint64_t> & buffer_index ()
The buffer_collection_id and buffer_index together uniquely identify
a buffer per boot.
This buffer_index is in the same space as specified/implied by
`BufferCollectionInfo` from collection allocation.
Clients that don't have direct control over the provenance of `vmo`
should assume that buffer_index could be any uint64. Such clients
may wish to check the buffer_collection_id against client-known
buffer collections before looking at buffer_index, and/or ensure
that looking up a client-known buffer by buffer_collection_id and
buffer_index doesn't rely on buffer_index(s) being packed near 0, at
least until a client-known buffer is found that the client knows
will have buffer_index packed near 0.
::std::optional<uint64_t> & buffer_index ()
The buffer_collection_id and buffer_index together uniquely identify
a buffer per boot.
This buffer_index is in the same space as specified/implied by
`BufferCollectionInfo` from collection allocation.
Clients that don't have direct control over the provenance of `vmo`
should assume that buffer_index could be any uint64. Such clients
may wish to check the buffer_collection_id against client-known
buffer collections before looking at buffer_index, and/or ensure
that looking up a client-known buffer by buffer_collection_id and
buffer_index doesn't rely on buffer_index(s) being packed near 0, at
least until a client-known buffer is found that the client knows
will have buffer_index packed near 0.
AllocatorGetVmoInfoResponse & buffer_index (std::optional<uint64_t> value)
The buffer_collection_id and buffer_index together uniquely identify
a buffer per boot.
This buffer_index is in the same space as specified/implied by
`BufferCollectionInfo` from collection allocation.
Clients that don't have direct control over the provenance of `vmo`
should assume that buffer_index could be any uint64. Such clients
may wish to check the buffer_collection_id against client-known
buffer collections before looking at buffer_index, and/or ensure
that looking up a client-known buffer by buffer_collection_id and
buffer_index doesn't rely on buffer_index(s) being packed near 0, at
least until a client-known buffer is found that the client knows
will have buffer_index packed near 0.
const std::optional< ::zx::eventpair> & close_weak_asap ()
If vmo was a sysmem weak VMO handle or need_weak was set to true (or
both), this field will be set. Later when ZX_EVENTPAIR_PEER_CLOSED
is signalled on this eventpair endpoint, all weak VMO handles to
this buffer should be closed asap (all strong VMO handles were
already closed by this point). In some cases, a client may be able
to rely on a different participant to notice and inform the client,
so this field being set is potentially ignore-able by some clients.
Client authors should ensure that when the buffer's close_weak_asap
server_end closes, the client will close all handles to the buffer
as soon as possible. This can be achieved directly or indirectly.
Client authors should not assume that this is achieved indirectly.
::std::optional< ::zx::eventpair> & close_weak_asap ()
If vmo was a sysmem weak VMO handle or need_weak was set to true (or
both), this field will be set. Later when ZX_EVENTPAIR_PEER_CLOSED
is signalled on this eventpair endpoint, all weak VMO handles to
this buffer should be closed asap (all strong VMO handles were
already closed by this point). In some cases, a client may be able
to rely on a different participant to notice and inform the client,
so this field being set is potentially ignore-able by some clients.
Client authors should ensure that when the buffer's close_weak_asap
server_end closes, the client will close all handles to the buffer
as soon as possible. This can be achieved directly or indirectly.
Client authors should not assume that this is achieved indirectly.
AllocatorGetVmoInfoResponse & close_weak_asap (std::optional< ::zx::eventpair> value)
If vmo was a sysmem weak VMO handle or need_weak was set to true (or
both), this field will be set. Later when ZX_EVENTPAIR_PEER_CLOSED
is signalled on this eventpair endpoint, all weak VMO handles to
this buffer should be closed asap (all strong VMO handles were
already closed by this point). In some cases, a client may be able
to rely on a different participant to notice and inform the client,
so this field being set is potentially ignore-able by some clients.
Client authors should ensure that when the buffer's close_weak_asap
server_end closes, the client will close all handles to the buffer
as soon as possible. This can be achieved directly or indirectly.
Client authors should not assume that this is achieved indirectly.
AllocatorGetVmoInfoResponse & operator= (AllocatorGetVmoInfoResponse && )
Defined at line 5657 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h
const std::optional< ::zx::vmo> & weak_vmo ()
Iff `need_weak` was set to true, this field is set to a sysmem weak
VMO handle to the same sysmem buffer (assuming no Error). The koid
may be different than the koid of the `vmo` in the request,
regardless of whether `vmo` in the request was a strong or weak VMO
handle. The `weak_vmo` will have no more rights than the `vmo`
handle had. In most cases, the client should also retain
`close_weak_asap` and notice when ZX_EVENTPAIR_PEER_CLOSED is
signalled and close the `weak_vmo` (and any handles to child VMOs)
ASAP.
::std::optional< ::zx::vmo> & weak_vmo ()
Iff `need_weak` was set to true, this field is set to a sysmem weak
VMO handle to the same sysmem buffer (assuming no Error). The koid
may be different than the koid of the `vmo` in the request,
regardless of whether `vmo` in the request was a strong or weak VMO
handle. The `weak_vmo` will have no more rights than the `vmo`
handle had. In most cases, the client should also retain
`close_weak_asap` and notice when ZX_EVENTPAIR_PEER_CLOSED is
signalled and close the `weak_vmo` (and any handles to child VMOs)
ASAP.
AllocatorGetVmoInfoResponse & weak_vmo (std::optional< ::zx::vmo> value)
Iff `need_weak` was set to true, this field is set to a sysmem weak
VMO handle to the same sysmem buffer (assuming no Error). The koid
may be different than the koid of the `vmo` in the request,
regardless of whether `vmo` in the request was a strong or weak VMO
handle. The `weak_vmo` will have no more rights than the `vmo`
handle had. In most cases, the client should also retain
`close_weak_asap` and notice when ZX_EVENTPAIR_PEER_CLOSED is
signalled and close the `weak_vmo` (and any handles to child VMOs)
ASAP.
const std::optional< ::fuchsia_sysmem2::SingleBufferSettings> & single_buffer_settings ()
Iff `need_single_buffer_settings` is set, this field will be set to
the SingleBufferSettings of the vmo's collection. See also
`[fuchsia.sysmem2/Allocator.GetVmoInfo]`
`need_single_buffer_settings`.
::std::optional< ::fuchsia_sysmem2::SingleBufferSettings> & single_buffer_settings ()
Iff `need_single_buffer_settings` is set, this field will be set to
the SingleBufferSettings of the vmo's collection. See also
`[fuchsia.sysmem2/Allocator.GetVmoInfo]`
`need_single_buffer_settings`.
AllocatorGetVmoInfoResponse & single_buffer_settings (std::optional< ::fuchsia_sysmem2::SingleBufferSettings> value)
Iff `need_single_buffer_settings` is set, this field will be set to
the SingleBufferSettings of the vmo's collection. See also
`[fuchsia.sysmem2/Allocator.GetVmoInfo]`
`need_single_buffer_settings`.
const std::optional<bool> & constraints_ok ()
Iff `constraints_to_check` was set, this field will be set. If true,
the vmo conforms to `constraints_to_check`. If false, the vmo does
not conform to `constraints_to_check`.
::std::optional<bool> & constraints_ok ()
Iff `constraints_to_check` was set, this field will be set. If true,
the vmo conforms to `constraints_to_check`. If false, the vmo does
not conform to `constraints_to_check`.
AllocatorGetVmoInfoResponse & constraints_ok (std::optional<bool> value)
Iff `constraints_to_check` was set, this field will be set. If true,
the vmo conforms to `constraints_to_check`. If false, the vmo does
not conform to `constraints_to_check`.
const std::optional<bool> & vmo_settings_match ()
Iff `vmo_settings_to_check` was set, this field will be set. If
true, `vmo` and `vmo_settings_to_check` have the same
SingleBufferSettings. If false, `vmo` and `vmo_settings_to_check`
have different SingleBufferSettings. The reason for not matching may
not be visible to the client if SingleBufferSettings has a new field
or similar.
::std::optional<bool> & vmo_settings_match ()
Iff `vmo_settings_to_check` was set, this field will be set. If
true, `vmo` and `vmo_settings_to_check` have the same
SingleBufferSettings. If false, `vmo` and `vmo_settings_to_check`
have different SingleBufferSettings. The reason for not matching may
not be visible to the client if SingleBufferSettings has a new field
or similar.
AllocatorGetVmoInfoResponse & vmo_settings_match (std::optional<bool> value)
Iff `vmo_settings_to_check` was set, this field will be set. If
true, `vmo` and `vmo_settings_to_check` have the same
SingleBufferSettings. If false, `vmo` and `vmo_settings_to_check`
have different SingleBufferSettings. The reason for not matching may
not be visible to the client if SingleBufferSettings has a new field
or similar.
void AllocatorGetVmoInfoResponse (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )
Friends
class MemberVisitor
class NaturalTableCodingTraits