morph 0.1.0
Asynchronous bridge between GUI thread and business models
Loading...
Searching...
No Matches
morph::reactive::RuntimeOptions Struct Reference

How a Runtime bounds and reports its flushes. More...

#include <runtime.hpp>

Public Attributes

std::size_t maxEffectRunsPerFlush = detail::kDefaultMaxEffectRunsPerFlush
 How many times one Effect may run in a single flush before the flush is treated as a write cycle, reported, and stopped.
std::size_t maxThrowReposts = detail::kDefaultMaxThrowReposts
 How many flushes in a row are re-posted after an Effect threw. Each re-post runs what is still queued, so a defect does not stall it until the next write; past the bound it waits for that write, so an Effect that throws on every run cannot loop for ever. A write from outside a flush starts a new count.
std::function< void()> afterFlush
 Called on the owner after every flush that processed a queued Effect; a frontend schedules its redraw here. May be empty. An exception it throws is reported (detail::site::kAfterFlushThrew) and dropped, so it never reaches the owner executor.

Detailed Description

How a Runtime bounds and reports its flushes.

Definition at line 25 of file runtime.hpp.

Member Data Documentation

◆ maxEffectRunsPerFlush

std::size_t morph::reactive::RuntimeOptions::maxEffectRunsPerFlush = detail::kDefaultMaxEffectRunsPerFlush

How many times one Effect may run in a single flush before the flush is treated as a write cycle, reported, and stopped.

Definition at line 28 of file runtime.hpp.

◆ maxThrowReposts

std::size_t morph::reactive::RuntimeOptions::maxThrowReposts = detail::kDefaultMaxThrowReposts

How many flushes in a row are re-posted after an Effect threw. Each re-post runs what is still queued, so a defect does not stall it until the next write; past the bound it waits for that write, so an Effect that throws on every run cannot loop for ever. A write from outside a flush starts a new count.

Definition at line 33 of file runtime.hpp.

◆ afterFlush

std::function<void()> morph::reactive::RuntimeOptions::afterFlush

Called on the owner after every flush that processed a queued Effect; a frontend schedules its redraw here. May be empty. An exception it throws is reported (detail::site::kAfterFlushThrew) and dropped, so it never reaches the owner executor.

Definition at line 37 of file runtime.hpp.


The documentation for this struct was generated from the following file: