Description
Convenience adapter that turns an application procedure into one structured Ada task generation with a typed immutable input. Applications that define their own task type use Supervision.Input_Task_Generations. Each call owns a fresh task object and joins it before returning.
Application_Context
type Application_Context (<>) is limited private;
Execute
procedure Execute
(Context : in out Application_Context;
Input : Input_Type;
Control : not null access Generation_Control)
Run one application generation with its family-owned input.
Parameters
- Context
State kept alive by the enclosing supervisor scope
- Input
Immutable typed input retained through task join
- Control
Borrowed generation-local readiness and stop channel
Input_Type
type Input_Type is private;
Run
procedure Run
(Context : aliased in out Application_Context;
Input : Input_Type;
Control : aliased in out Generation_Control;
Result : out Generation_Result)
Create, activate, observe, and join one typed-input generation. Normal return, escaping exceptions, and abnormal completion are classified automatically from the task-owned terminal result.
Parameters
- Context
Application state retained through the complete call
- Input
Immutable generation input
- Control
Fresh generation control opened by the supervisor
- Result
Bounded outcome available after task join
Raised exceptions
- Tasking_Error
Generation task activation failed
Task_CPU
Task_CPU : System.Multiprocessors.CPU_Range := System.Multiprocessors.Not_A_Specific_CPU;
Task_Model
Task_Model : Flyology.Execution_Model := Flyology.Project_Default;