Waltham: Generic Wayland-Style Network IPC

Written by Michael Larabel in Wayland on 28 October 2016 at 08:29 AM EDT. 27 Comments
WAYLAND
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:
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.

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.
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.

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.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week