pub struct Backend<D>where
    D: 'static,
{ /* private fields */ }
Expand description

A backend object that represents the state of a wayland server.

A backend is used to drive a wayland server by receiving requests, dispatching messages to the appropriate handlers and flushes requests to be sent back to the client.

Implementations

Initialize a new Wayland backend

Flushes pending events destined for a client.

If no client is specified, all pending events are flushed to all clients.

Returns a handle which represents the server side state of the backend.

The handle provides a variety of functionality, such as querying information about wayland objects, obtaining data associated with a client and it’s objects, and creating globals.

Returns the underlying file descriptor.

The file descriptor may be monitored for activity with a polling mechanism such as epoll or kqueue. When it becomes readable, this means there are pending messages that would be dispatched if you call Backend::dispatch_all_clients.

The file descriptor should not be used for any other purpose than monitoring it.

Dispatches all pending messages from the specified client.

This method will not block if there are no pending messages.

The provided data will be provided to the handler of messages received from the client.

For performance reasons, use of this function should be integrated with an event loop, monitoring the file descriptor associated with the client and only calling this method when messages are available.

Note: This functionality is currently only available on the rust backend, invoking this method on the system backend will do the same as invoking Backend::dispatch_all_clients().

Dispatches all pending messages from all clients.

This method will not block if there are no pending messages.

The provided data will be provided to the handler of messages received from the clients.

For performance reasons, use of this function should be integrated with an event loop, monitoring the file descriptor retrieved by Backend::poll_fd and only calling this method when messages are available.

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
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
Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.