#[non_exhaustive]
pub enum Request { Destroy, SetAcquireFence { fd: RawFd, }, GetRelease {}, }

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Destroy

destroy synchronization object

Destroy this explicit synchronization object.

Any fence set by this object with set_acquire_fence since the last commit will be discarded by the server. Any fences set by this object before the last commit are not affected.

zwp_linux_buffer_release_v1 objects created by this object are not affected by this request.

This is a destructor, once sent this object cannot be used any longer.

§

SetAcquireFence

Fields

set the acquire fence

Set the acquire fence that must be signaled before the compositor may sample from the buffer attached with wl_surface.attach. The fence is a dma_fence kernel object.

The acquire fence is double-buffered state, and will be applied on the next wl_surface.commit request for the associated surface. Thus, it applies only to the buffer that is attached to the surface at commit time.

If the provided fd is not a valid dma_fence fd, then an INVALID_FENCE error is raised.

If a fence has already been attached during the same commit cycle, a DUPLICATE_FENCE error is raised.

If the associated wl_surface was destroyed, a NO_SURFACE error is raised.

If at surface commit time the attached buffer does not support explicit synchronization, an UNSUPPORTED_BUFFER error is raised.

If at surface commit time there is no buffer attached, a NO_BUFFER error is raised.

§

GetRelease

release fence for last-attached buffer

Create a listener for the release of the buffer attached by the client with wl_surface.attach. See zwp_linux_buffer_release_v1 documentation for more information.

The release object is double-buffered state, and will be associated with the buffer that is attached to the surface at wl_surface.commit time.

If a zwp_linux_buffer_release_v1 object has already been requested for the surface in the same commit cycle, a DUPLICATE_RELEASE error is raised.

If the associated wl_surface was destroyed, a NO_SURFACE error is raised.

If at surface commit time there is no buffer attached, a NO_BUFFER error is raised.

Trait Implementations§

source§

impl Debug for Request

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl MessageGroup for Request

source§

const MESSAGES: &'static [MessageDesc] = _

Wire representation of this MessageGroup
§

type Map = ProxyMap

The wrapper type for ObjectMap allowing the mapping of Object and NewId arguments to the object map during parsing.
source§

fn is_destructor(&self) -> bool

Whether this message is a destructor Read more
source§

fn opcode(&self) -> u16

The opcode of this message
source§

fn since(&self) -> u32

The minimal object version for which this message exists
source§

fn child<Meta: ObjectMetadata>( opcode: u16, version: u32, meta: &Meta ) -> Option<Object<Meta>>

Retrieve the child Object associated with this message if any
source§

fn from_raw(msg: Message, map: &mut Self::Map) -> Result<Self, ()>

Construct a message from its raw representation
source§

fn into_raw(self, sender_id: u32) -> Message

Turn this message into its raw representation
source§

unsafe fn from_raw_c( obj: *mut c_void, opcode: u32, args: *const wl_argument ) -> Result<Request, ()>

Construct a message of this group from its C representation Read more
source§

fn as_raw_c_in<F, T>(self, f: F) -> T
where F: FnOnce(u32, &mut [wl_argument]) -> T,

Build a C representation of this message Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.