genode/repos/os/src/server/dynamic_rom
Norman Feske 4d442bca30 Streamline exception types
This patch reduces the number of exception types by facilitating
globally defined exceptions for common usage patterns shared by most
services. In particular, RPC functions that demand a session-resource
upgrade not longer reflect this condition via a session-specific
exception but via the 'Out_of_ram' or 'Out_of_caps' types.

Furthermore, the 'Parent::Service_denied', 'Parent::Unavailable',
'Root::Invalid_args', 'Root::Unavailable', 'Service::Invalid_args',
'Service::Unavailable', and 'Local_service::Factory::Denied' types have
been replaced by the single 'Service_denied' exception type defined in
'session/session.h'.

This consolidation eases the error handling (there are fewer exceptions
to handle), alleviates the need to convert exceptions along the
session-creation call chain, and avoids possible aliasing problems
(catching the wrong type with the same name but living in a different
scope).
2017-05-31 13:16:07 +02:00
..
main.cc Streamline exception types 2017-05-31 13:16:07 +02:00
README Move repositories to 'repos/' subdirectory 2014-05-14 16:08:00 +02:00
target.mk dynamic_rom: change to component API 2016-07-15 11:38:28 +02:00

ROM service that provides ROM modules that change during the lifetime of a ROM
session according to a timeline. This main purpose of this service is the
testing of programs that are able to respond to ROM module changes, for example
configuration changes.

The configuration of the dynamic ROM server contains a '<rom>' sub node per
ROM module provided by the service. Each '<rom>' node hosts a 'name' attribute
and contains a sequence of sub nodes that define the timeline of the ROM
module. The possible sub nodes are:

':<inline>:' The content of the '<inline>' node is assigned to the content
  of the ROM module.

':<sleep>:' Sleeps a number of milliseconds as specified via the 'milliseconds'
  attribute.

:'<empty>:' Removes the ROM module.

At the end of the timeline, the timeline re-starts at the beginning.