Kraken\Event\BaseEventEmitterTrait::attachTimesListener PHP Method

attachTimesListener() protected method

protected attachTimesListener ( integer $pointer, string $event, integer $limit, callable $listener ) : callable
$pointer integer
$event string
$limit integer
$listener callable
return callable
    protected function attachTimesListener($pointer, $event, $limit, callable $listener)
    {
        $emitter = $this;
        return function () use($emitter, $listener, $event, $pointer, &$limit) {
            if (--$limit === 0) {
                unset($limit);
                unset($emitter->eventListeners[$event][$pointer]);
            }
            return call_user_func_array($listener, func_get_args());
        };
    }