Struct smithay::wayland::explicit_synchronization::ExplicitSyncState [−][src]
pub struct ExplicitSyncState { pub acquire: Option<RawFd>, pub release: Option<ExplicitBufferRelease>, }
Expand description
An explicit synchronization state
The client is not required to fill both. acquire
being None
means that you don’t need to wait
before accessing the buffer, release
being None
means that the client does not require additional
signaling that you are finished (you still need to send wl_buffer.release
).
When processing the current state, Option::take
the values from it. Otherwise they’ll be
treated as unused and released when overwritten by the next client commit.
Fields
acquire: Option<RawFd>
An acquire dma_fence
object, that you should wait on before accessing the contents of the
buffer associated with the surface.
release: Option<ExplicitBufferRelease>
A buffer release object, that you should use to signal the client when you are done using the buffer associated with the surface.
Trait Implementations
Merge a state update into the current state
Auto Trait Implementations
impl !RefUnwindSafe for ExplicitSyncState
impl Send for ExplicitSyncState
impl Sync for ExplicitSyncState
impl Unpin for ExplicitSyncState
impl !UnwindSafe for ExplicitSyncState
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
pub fn vzip(self) -> V