← All compilation units

Flyology_TUI.Runners

Description

Command_Capacity

Command_Capacity : Positive := 64;

Event_Capacity

Event_Capacity   : Positive := 256;

Events

with package Events is new Flyology_TUI.Application_Events (<>);

Execute

procedure Execute
(Command  : Transitions.Command;
Message  : out Events.Message;
Produced : out Boolean)

Execute runs on one command worker. Expected failures should be encoded in Message and returned with Produced set; an escaping exception stops the runner and is reported as Runner_Error.

Parameters
Command
Message
Produced

Initialize

procedure Initialize
(Model : in out Model_Type;
Next  : in out Transitions.Transition)
Parameters
Model
Next

Model_Type

type Model_Type is limited private;

Present

function Present
(Model : Model_Type) return Flyology_TUI.Views.View
Parameters
Model
Return value

Run

procedure Run
  (Model   : in out Model_Type;
   Backend : in out Flyology_TUI.Backends.Backend'Class)

Run owns Model on the calling task. Terminal input and command execution feed a bounded inbox, while Initialize, Update, Present, and Render are invoked serially. Run restores the backend if any operation fails.

Parameters
Model
Backend

Runner_Error

Runner_Error : exception;

Transitions

with package Transitions is new Flyology_TUI.Transitions (<>);

Update

procedure Update
(Model : in out Model_Type;
Event : Events.Event;
Next  : in out Transitions.Transition)
Parameters
Model
Event
Next