mirror of
https://github.com/genodelabs/genode.git
synced 2025-05-28 13:14:26 +00:00
The 'Session_object' unifies several aspects of server-component implementations: * It keeps track of session quotas and is equipped with standardized interfaces (Quota_guard) to upgrade (and in the future potentially downgrade) session quotas in a uniform way. * It follows the pattern of modern RPC objects / signal handlers that manage/dissolve themselves at the entrypoint given as constructor argument. Thereby, the relationship with its entrypoint is always coupled with the lifetime of the session-component object. * It stores the session label, which was previously done manually by most but not all server-component implementations. * It stores the session 'diag' flag. * It is equipped with output methods 'diag', 'error', and 'warning'. All messages printed from the context of a session component is automatically prefixed with the session type and client label. Messages passed via 'diag' are only printed if the 'diag' flag of the session is set. Issue #2398
This is generic part of the Genode implementation. It consists of two parts: :_Core_: is the ultimate root of the Genode application tree and provides abstractions for the lowest-level hardware resources such as RAM, ROM, CPU, and generic device access. All generic parts of Core can be found here - for system-specific implementations refer to the appropriate 'base-<system>' directory. :_Base libraries and protocols_: that are used by each Genode component to interact with other components. This is the glue that holds everything together.