Total Complexity | 9 |
Total Lines | 48 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 0 |
1 | <?php |
||
11 | class SignalHandler |
||
12 | { |
||
13 | private $worker = null; |
||
14 | private $dispatcher; |
||
15 | |||
16 | private $signals = [ |
||
17 | SIGTERM => 'shutdown', |
||
18 | SIGINT => 'shutdown', |
||
19 | SIGQUIT => 'shutdown', |
||
20 | SIGUSR1 => 'pause', |
||
21 | SIGCONT => 'continue', |
||
22 | SIGUSR2 => 'forceShutdown', |
||
23 | ]; |
||
24 | |||
25 | 3 | public function __construct(array $signals = []) |
|
26 | { |
||
27 | 3 | foreach ($signals as $type => $signalCallback) { |
|
28 | 1 | if (in_array($type, array_keys($this->signals)) && is_callable($signalCallback)) { |
|
29 | 1 | $this->signals[$type] = $signalCallback; |
|
30 | } |
||
31 | } |
||
32 | 3 | $this->dispatcher = new Noop(); |
|
33 | 3 | } |
|
34 | |||
35 | 2 | public function setDispatcher(Dispatcher $dispatcher): void |
|
36 | { |
||
37 | 2 | $this->dispatcher = $dispatcher; |
|
38 | 2 | } |
|
39 | |||
40 | 10 | public function setWorker(Worker $worker): void |
|
43 | 10 | } |
|
44 | |||
45 | 2 | public function register(): void |
|
54 | 2 | } |
|
55 | |||
56 | 1 | public function unregister(): void |
|
61 |