/**
* @param bool $enableSignals True to enable signal handling, false to disable.
* @param \Icicle\Loop\Events\EventFactoryInterface|null $eventFactory
* @param \EventBase|null $base Use null for an EventBase object to be automatically created.
*
* @throws \Icicle\Loop\Exception\UnsupportedError If the event extension is not loaded.
*/
public function __construct(bool $enableSignals = true, EventFactoryInterface $eventFactory = null, EventBase $base = null)
{
// @codeCoverageIgnoreStart
if (!self::enabled()) {
throw new UnsupportedError(__CLASS__ . ' requires the event extension.');
}
// @codeCoverageIgnoreEnd
$this->base = $base ?: new EventBase();
parent::__construct($enableSignals, $eventFactory);
}