From 2b0c9f9dd2c0eeb2053e2ef56ab8d2021e755dc9 Mon Sep 17 00:00:00 2001 From: Thomas Gelf Date: Sat, 6 Jun 2020 23:16:47 +0200 Subject: [PATCH] Daemon: prepare for future react/promise versions fixes #2137 --- doc/82-Changelog.md | 3 +++ library/Director/Daemon/DaemonDb.php | 12 ++++++------ library/Director/Daemon/JobRunner.php | 4 ++-- library/Director/Daemon/LogProxy.php | 6 +++--- library/Director/Daemon/ProcessList.php | 4 ++-- 5 files changed, 16 insertions(+), 13 deletions(-) diff --git a/doc/82-Changelog.md b/doc/82-Changelog.md index ee84de1b..d2480669 100644 --- a/doc/82-Changelog.md +++ b/doc/82-Changelog.md @@ -29,6 +29,9 @@ next (will be 1.8.0) ### REST API * FEATURE: Self Service API ignores empty/missing properties (e.g. no address) +### Background Daemon +* FEATURE: Daemon: prepare for future reactphp promise versions (#2137) + ### Internals * FEATURE: Property Modifiers are now able to clone rows (#2060) * FIX: typo in DeploymentHook::onSuccessfulDump() has been fixed (#2069) diff --git a/library/Director/Daemon/DaemonDb.php b/library/Director/Daemon/DaemonDb.php index 2eaa1ef1..97a56de9 100644 --- a/library/Director/Daemon/DaemonDb.php +++ b/library/Director/Daemon/DaemonDb.php @@ -11,10 +11,10 @@ use Icinga\Module\Director\Db\Migrations; use ipl\Stdlib\EventEmitter; use React\EventLoop\LoopInterface; use React\Promise\Deferred; -use React\Promise\FulfilledPromise; -use React\Promise\RejectedPromise; use RuntimeException; use SplObjectStorage; +use function React\Promise\reject; +use function React\Promise\resolve; class DaemonDb { @@ -110,7 +110,7 @@ class DaemonDb $this->emitStatus('no configuration'); $this->dbConfig = $config; - return new FulfilledPromise(); + return resolve(); } else { $this->emitStatus('configuration loaded'); $this->dbConfig = $config; @@ -123,7 +123,7 @@ class DaemonDb { if ($this->connection !== null) { Logger::error('Trying to establish a connection while being connected'); - return new RejectedPromise(); + return reject(); } $callback = function () use ($config) { $this->reallyEstablishConnection($config); @@ -241,7 +241,7 @@ class DaemonDb } } - return new FulfilledPromise(); + return resolve(); } /** @@ -250,7 +250,7 @@ class DaemonDb public function disconnect() { if (! $this->connection) { - return new FulfilledPromise(); + return resolve(); } if ($this->pendingDisconnect) { return $this->pendingDisconnect->promise(); diff --git a/library/Director/Daemon/JobRunner.php b/library/Director/Daemon/JobRunner.php index 758cadb5..b48ed221 100644 --- a/library/Director/Daemon/JobRunner.php +++ b/library/Director/Daemon/JobRunner.php @@ -9,8 +9,8 @@ use Icinga\Module\Director\Db; use Icinga\Module\Director\Objects\DirectorJob; use React\ChildProcess\Process; use React\EventLoop\LoopInterface; -use React\Promise\FulfilledPromise; use React\Promise\Promise; +use function React\Promise\resolve; class JobRunner implements DbBasedComponent { @@ -74,7 +74,7 @@ class JobRunner implements DbBasedComponent } $this->timer = $this->loop->addPeriodicTimer($this->checkInterval, $check); - return new FulfilledPromise(); + return resolve(); } /** diff --git a/library/Director/Daemon/LogProxy.php b/library/Director/Daemon/LogProxy.php index 9a1d9f58..0b58ae8b 100644 --- a/library/Director/Daemon/LogProxy.php +++ b/library/Director/Daemon/LogProxy.php @@ -4,7 +4,7 @@ namespace Icinga\Module\Director\Daemon; use Exception; use Icinga\Module\Director\Db; -use React\Promise\FulfilledPromise; +use function React\Promise\resolve; class LogProxy implements DbBasedComponent { @@ -39,7 +39,7 @@ class LogProxy implements DbBasedComponent $this->connection = $connection; $this->db = $connection->getDbAdapter(); - return new FulfilledPromise(); + return resolve(); } /** @@ -50,7 +50,7 @@ class LogProxy implements DbBasedComponent $this->connection = null; $this->db = null; - return new FulfilledPromise(); + return resolve(); } public function log($severity, $message) diff --git a/library/Director/Daemon/ProcessList.php b/library/Director/Daemon/ProcessList.php index 70e2a083..85b9aac9 100644 --- a/library/Director/Daemon/ProcessList.php +++ b/library/Director/Daemon/ProcessList.php @@ -8,7 +8,7 @@ use ipl\Stdlib\EventEmitter; use React\ChildProcess\Process; use React\EventLoop\LoopInterface; use React\Promise\Deferred; -use React\Promise\FulfilledPromise; +use function React\Promise\resolve; class ProcessList { @@ -60,7 +60,7 @@ class ProcessList public function killOrTerminate($timeout = 5) { if ($this->processes->count() === 0) { - return new FulfilledPromise(); + return resolve(); } $deferred = new Deferred(); $killTimer = $this->loop->addTimer($timeout, function () use ($deferred) {