LEVELS
LEVELS = 5
Levels the form renders.
How long history is kept, how often it is anchored, and what happens at the spend ceiling.
The base interval is a restore-latency dial, not a storage dial, and the form says so. An earlier model had it as the largest lever on stored bytes; measuring it showed the two effects largely cancel, because a longer interval means fewer anchors that each record more changed subjects. What it really controls is how many segments a replay walks to reach a given moment.
The retention ladder is rendered as a table of levels rather than as free-form configuration, because a level whose window is wider than the level above it produces a rollup that folds backwards. The validation refuses that rather than letting a cron run discover it.
$engine : ?\Drupal\strata\Engine
The engine, reset after a save.
create(\Symfony\Component\DependencyInjection\ContainerInterface $container) : static
{@inheritdoc}
The engine is asked for, never required. composer.json PSR-4 maps Drupal\strata\ onto
src/, so every class here loads off composer's autoloader whether or not the module is in
core.extension, while strata.services.yml reaches the container only when it is. A router
table still holding this route after the module left - a failed install, a composer remove
with no uninstall - therefore resolves the class, calls this, and answered 500 with
ServiceNotFoundException until 1.0.3. The property is nullable and every use of it is
null-safe, so asking is the whole fix.
| \Symfony\Component\DependencyInjection\ContainerInterface | $container |
coerce(mixed $value, string $type) : mixed
Coerces a submitted value to the type the config schema declares.
A form always submits strings, and configuration is schema-validated on save, so an integer
setting handed the string "15" fails validation on a site running strictConfigSchema.
| mixed | $value | The submitted value. |
| string | $type | One of "string", "int", "float" or "bool". |
The coerced value.