Struct wayland_backend::rs::client_impl::InnerReadEventsGuard
source · pub struct InnerReadEventsGuard {
state: Arc<ConnectionState>,
done: bool,
}
Fields§
§state: Arc<ConnectionState>
§done: bool
Implementations§
source§impl InnerReadEventsGuard
impl InnerReadEventsGuard
sourcepub fn try_new(backend: InnerBackend) -> Option<Self>
pub fn try_new(backend: InnerBackend) -> Option<Self>
Create a new reading guard
This call will not block, but event callbacks may be invoked in the process of preparing the guard.
sourcepub fn connection_fd(&self) -> BorrowedFd<'_>
pub fn connection_fd(&self) -> BorrowedFd<'_>
Access the Wayland socket FD for polling
sourcepub fn read(self) -> Result<usize, WaylandError>
pub fn read(self) -> Result<usize, WaylandError>
Attempt to read events from the Wayland socket
If multiple threads have a live reading guard, this method will block until all of them
are either dropped or have their read()
method invoked, at which point on of the threads
will read events from the socket and invoke the callbacks for the received events. All
threads will then resume their execution.
This returns the number of dispatched events, or 0
if an other thread handled the dispatching.
If no events are available to read from the socket, this returns a WouldBlock
IO error.
Trait Implementations§
source§impl Debug for InnerReadEventsGuard
impl Debug for InnerReadEventsGuard
Auto Trait Implementations§
impl Freeze for InnerReadEventsGuard
impl RefUnwindSafe for InnerReadEventsGuard
impl Send for InnerReadEventsGuard
impl Sync for InnerReadEventsGuard
impl Unpin for InnerReadEventsGuard
impl UnwindSafe for InnerReadEventsGuard
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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.