|
morph 0.1.0
Asynchronous bridge between GUI thread and business models
|
How an engine runs and what it is given. More...
#include <engine.hpp>
Public Attributes | |
| exec::IExecutor * | owner = nullptr |
| Where results are applied. Null: every computation runs inside the call that asks for it (what table::apply uses on a server). | |
| exec::IExecutor * | worker = nullptr |
| Where jobs run off the owner. Null: jobs run in frame-budgeted steps posted to owner. Must outlive every job the engine starts. | |
| std::size_t | smallTable = 2000 |
| Tables with fewer rows compute on the owner in one step. | |
| std::size_t | resetThreshold = 5000 |
| A ViewChange with more operations than this is one Reset. | |
| std::chrono::microseconds | frameBudget {8000} |
| The longest an owner step runs when there is no worker. | |
| Services | services |
| Collator, date parser, comparators and progress sink. | |
| ReorderPolicy | reorder = ReorderPolicy::Immediate |
| What an updated row that would move does. | |
| std::chrono::milliseconds | settle {500} |
| The quiet interval after which deferred rows move. | |
| std::function< void(std::chrono::milliseconds, std::function< void()>)> | scheduleSettle |
| Runs a callback on the owner after a delay; the engine uses it for the settle interval. Empty: deferred rows move only on settleNow() or endEdit(). | |
How an engine runs and what it is given.
Definition at line 76 of file engine.hpp.
| exec::IExecutor* morph::table::EngineOptions::owner = nullptr |
Where results are applied. Null: every computation runs inside the call that asks for it (what table::apply uses on a server).
Definition at line 79 of file engine.hpp.
| exec::IExecutor* morph::table::EngineOptions::worker = nullptr |
Where jobs run off the owner. Null: jobs run in frame-budgeted steps posted to owner. Must outlive every job the engine starts.
Definition at line 82 of file engine.hpp.
| std::size_t morph::table::EngineOptions::smallTable = 2000 |
Tables with fewer rows compute on the owner in one step.
Definition at line 84 of file engine.hpp.
| std::size_t morph::table::EngineOptions::resetThreshold = 5000 |
A ViewChange with more operations than this is one Reset.
Definition at line 86 of file engine.hpp.
| std::chrono::microseconds morph::table::EngineOptions::frameBudget {8000} |
The longest an owner step runs when there is no worker.
Definition at line 88 of file engine.hpp.
| Services morph::table::EngineOptions::services |
Collator, date parser, comparators and progress sink.
Definition at line 90 of file engine.hpp.
| ReorderPolicy morph::table::EngineOptions::reorder = ReorderPolicy::Immediate |
What an updated row that would move does.
Definition at line 92 of file engine.hpp.
| std::chrono::milliseconds morph::table::EngineOptions::settle {500} |
The quiet interval after which deferred rows move.
Definition at line 94 of file engine.hpp.
| std::function<void(std::chrono::milliseconds, std::function<void()>)> morph::table::EngineOptions::scheduleSettle |
Runs a callback on the owner after a delay; the engine uses it for the settle interval. Empty: deferred rows move only on settleNow() or endEdit().
Definition at line 98 of file engine.hpp.