Lines 90.00% 9 / 10
Methods 66.66% 2 / 3
Classes 0.00% 0 / 1
Name Lines Methods CRAP
 __construct 100.00% 1 / 1 100.00% 1 / 1 1
 handledMessageClass 0.00% 0 / 1 0.00% 0 / 1 2
 handle 100.00% 8 / 8 100.00% 1 / 1 2
13final readonly class RegistrySnapshotHandler implements BrokerMessageHandler
14{
15    public function __construct(
16        private RegistryCache $registryCache,
17        private LoggerInterface $logger,
18    ) {}
19
20    public function handledMessageClass(): string
21    {
22        return RegistrySnapshot::class;
23    }
24
25    /** @param RegistrySnapshot $message */
26    public function handle(BrokerMessage $message): void
27    {
28        $registry = $message->registry->registry;
29
30        if ($this->registryCache->replaceIfNewer($registry, $message->revision)) {
31            $this->logger->debug('Registry updated', [
32                'revision' => $message->revision,
33                'areas' => $registry->listAreas()->count(),
34                'devices' => $registry->listDevices()->count(),
35                'entities' => $registry->listEntities()->count(),
36            ]);
37        }
38    }
39}