Lines 100.00% 1 / 1
Functions and Methods 100.00% 1 / 1
Classes and Traits 100.00% 1 / 1
Name Lines Functions and Methods CRAP Classes and Traits
WorkerStatus 100.00% 1 / 1 100.00% 1 / 1 1 100.00% 1 / 1
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
1<?php
2
3declare(strict_types=1);
4
5namespace Stewart\Runtime\Control\Protocol\Status;
6
7use Stewart\Contracts\Time\Duration;
8use Stewart\Contracts\Time\Instant;
9use Stewart\Contracts\Wire\ListOf;
10use Stewart\Runtime\Lifecycle\WorkerPhase;
11
12final readonly class WorkerStatus
13{
14    /** @param list<string> $appIds */
15    public function __construct(
16        public int $workerId,
17        public WorkerPhase $phase,
18        #[ListOf('string')]
19        public array $appIds,
20        public ?int $pid = null,
21        public bool $ready = false,
22        public int $missedProbes = 0,
23        public ?Duration $loopLag = null,
24        public ?int $memoryBytes = null,
25        public ?Instant $lastPongAt = null,
26        public int $restartsInWindow = 0,
27        public ?Instant $restartDueAt = null,
28        public ?OutboxStatus $outbox = null,
29        public int $inFlightServiceCalls = 0,
30        public int $restarts = 0,
31        public int $quarantines = 0,
32    ) {}
33}