$dispatcher
$dispatcher : ?\Symfony\Contracts\EventDispatcher\EventDispatcherInterface
The one place the pipeline announces what it did.
Exists so that the classes doing the work take a single optional collaborator instead of an event dispatcher, a name and an event class each. A flusher should not know what Symfony is, and a unit test of a flusher should not have to build a dispatcher to run.
A subscriber can never break the pipeline. Every dispatch is wrapped: a listener that throws is logged and swallowed. A notification is a side effect of a successful flush or restore, and letting a broken webhook subscription turn a completed flush into a failed one would invert that.
__construct(\Symfony\Contracts\EventDispatcher\EventDispatcherInterface|null $dispatcher = null, \Psr\Log\LoggerInterface|null $logger = null) : mixed
Constructs a notifier.
| \Symfony\Contracts\EventDispatcher\EventDispatcherInterface|null | $dispatcher | Where events go, or NULL to discard them, which is what a unit test passes. |
| \Psr\Log\LoggerInterface|null | $logger | Records a listener that threw. |
restoreFinished(\Drupal\strata\Restore\RestoreResult $result, string $mode = 'logical', string $scope = '', int|null $actor = null) : void
A restore finished.
| \Drupal\strata\Restore\RestoreResult | $result | What it did. |
| string | $mode | Either "logical" or "physical". |
| string | $scope | The scope that was asked for. |
| int|null | $actor | Who ran it. |