Book:Support

Not logged in

Support APIs

The Genode API includes "utility" classes, described below. For those coming from a Haiku background, some sidebars are provided to facilitate the creation of a mental "map".

App backbone

RPC/IPC

(from release-notes 13.11): In Genode, inter-process communication can be implemented synchronously via RPC calls or asynchronously via signals. Most services use a combination of both mechanisms. For example, a block driver provides an RPC interface for querying the size of the block device. However, the actual transactions are communicated via shared memory and asynchronous notifications to maximize throughput. For this reason, most servers need to handle both, incoming RPCs and signals.

Haiku side-bar: an "RPC entrypoint" thread could be somewhat thought of as the equivalent of a BLooper thread, RPC calls as synchronous BMessage sending, and signals as a-synchronous BMessage sending.

Support staples

Time of day / wall clock

Genode provides time-of-day with the RTC service, which may be configured like thus:

String

#include <util/string.h>

Not a full featured string class, but very efficient (and does not allocate on the heap) for safe storage of bounded-size strings.