Waltham: Generic Wayland-Style Network IPC
Collabora went public today with their new spin-off project from Wayland: meet Waltham.
Waltham is developed by Collabora at the request of some of their clients. Waltham is a generic Wayland-style IPC over network and can allow for more Wayland network-friendly applications.
Lead developer and longtime Wayland contributor Pekka Paalanen explained:
More details on Waltham via today's announcement. Waltham is still very much a work-in-progress and the current code can be found via Waltham on GitHub.
Waltham is developed by Collabora at the request of some of their clients. Waltham is a generic Wayland-style IPC over network and can allow for more Wayland network-friendly applications.
Lead developer and longtime Wayland contributor Pekka Paalanen explained:
if you like the Wayland protocol framework, you will probably like Waltham too, especially if you have ever wished it would work over a network, not just locally.Waltham uses TCP sockets, doesn't send file descriptors, offers a minimal API, and doesn't provide a event loop implementation nor is their multi-threading support.
Before diving into details, lets set expectations: Waltham is not the magic bullet that makes Wayland network-transparent! However, Waltham could be an implementation detail in a software suite(*) that allows Wayland applications to be ran over a network. In fact, this is the main motivation behind Waltham: a protocol framework that makes it as easy as possible to mirror Wayland protocol extensions and replace the network-incompatible pieces with something else.
In Wayland, you define your protocol messages in an XML file, use a code generator to create the message bindings, and let the library do all the hard work of serializing and deserializing it. The library does not need to be re-built to support new protocol extensions. Tuned for optimal performance in a local environment, Wayland protocol cannot reasonably be sent over a network.
Waltham is (will be) the Wayland-style protocol framework built to support network communications. Just like Wayland, the protocol is object-oriented, defined in XML files, and you use a code generator to bind it in server and client programs. Practically all the Wayland protocol design principles apply also to Waltham protocols - if you can write Wayland protocols, you can write Waltham protocols.
More details on Waltham via today's announcement. Waltham is still very much a work-in-progress and the current code can be found via Waltham on GitHub.
27 Comments