<?php namespace React\EventLoop; /** * @internal */ final class SignalsHandler { private $signals = array(); public function add($signal, $listener) { if (!isset($this->signals[$signal])) { $this->signals[$signal] = array(); } if (\in_array($listener, $this->signals[$signal])) { return; } $this->signals[$signal][] = $listener; } public function remove($signal, $listener) { if (!isset($this->signals[$signal])) { return; } $index = \array_search($listener, $this->signals[$signal], true); unset($this->signals[$signal][$index]); if (isset($this->signals[$signal]) && \count($this->signals[$signal]) === 0) { unset($this->signals[$signal]); } } public function call($signal) { if (!isset($this->signals[$signal])) { return; } foreach ($this->signals[$signal] as $listener) { \call_user_func($listener, $signal); } } public function count($signal) { if (!isset($this->signals[$signal])) { return 0; } return \count($this->signals[$signal]); } public function isEmpty() { return !$this->signals; } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Tick | Folder | 0755 |
|
|
Timer | Folder | 0755 |
|
|
ExtEvLoop.php | File | 5.82 KB | 0644 |
|
ExtEventLoop.php | File | 7.35 KB | 0644 |
|
ExtLibevLoop.php | File | 5.45 KB | 0644 |
|
ExtLibeventLoop.php | File | 8.36 KB | 0644 |
|
ExtUvLoop.php | File | 7.99 KB | 0644 |
|
Factory.php | File | 1.32 KB | 0644 |
|
LoopInterface.php | File | 18.24 KB | 0644 |
|
SignalsHandler.php | File | 1.28 KB | 0644 |
|
StreamSelectLoop.php | File | 9.19 KB | 0644 |
|
TimerInterface.php | File | 492 B | 0644 |
|