leading to lost frames. Should never cause tearing though, we're
changing the surface contents, not the server back buffer which is
what is scheduled for blitting at vsync time.
-
-
-RMI
-
-The wayland protocol is a async object oriented protocol. All
-requests are method invocations on some object. The request include
-an object id that uniquely identifies an object on the server. Each
-object implements an interface and the requests include an opcode that
-identifies which method in the interface to invoke.
-
-The server sends back events to the client, each event is emitted from
-an object. Events can be error conditions. The event includes the
-object id and the event opcode, from which the client can determine
-the type of event. Events are generated both in repsonse to a request
-(in which case the request and the event constitutes a round trip) or
-spontanously when the server state changes.
-
-the get_interface method is called on an object to get an object
-handle that implements the specified interface.
-
-
-EMBEDDING OTHER WINDOWS
-
-X11 lets clients embed windows from other clients other copy pixmap
-contents rendered by another client into their window. This is often
-used for applets in a panel, browser plugins and similar. Wayland
-doesn't directly allow this, but clients can communicate GEM buffer
-names out-of-band, for example, using d-bus or as command line
-arguments when the panel launches the applet. Another option is to
-use a nested wayland instance. For this, the wayland server will have
-to be a library that the host application links to. The host
-application will then pass the wayland server socket name to the
-embedded application, and will need to implement the wayland
-compositor interface. The host application composites the client
-surfaces as part of it's window, that is, in the web page or in the
-panel. The benefit of nesting the wayland server is that it provides
-the requests the embedded client needs to inform the host about buffer
-updates and a mechanism for forwarding input events from the host
-application.