[−][src]Module wayland_client::sinks
Message sinks
The Wayland model naturally uses callbacks to handle the message you receive from the server. However in some contexts, an iterator-based interface may be more practical to use, this is what this module provides.
The message_iterator function allows you to create a new message iterator. It is just a
regular MPSC, however its sending end (the Sink<T>) can be directly used as an implementation
for Wayland objects. This just requires that T: From<(I::Event, I)> (where I is the
interface of the object you're trying to implement). The event_enum! macro is provided to
easily generate an appropriate type joining events from different interfaces into a single
iterator.
The blocking_message_iterator function is very similar, except the created message iterator
will be linked to an event queue, and will block on it rather than returning None, and is
thus able to drive an event loop.
Structs
| BlockingMsgIter | A message iterator linked to an event queue |
| MsgIter | A message iterator |
| Sink | The sink end of an message iterator. |
Functions
| blocking_message_iterator | Create a blokcing message iterator |
| message_iterator | Create a new message iterator and an associated sink. |