public function start() { $this->base = event_base_new(); if ($this->_server) { $this->event = event_new(); event_set($this->event, $this->_server, EV_READ | EV_PERSIST, array($this, 'accept'), $this->base); event_base_set($this->event, $this->base); event_add($this->event); } foreach ($this->_services as $serviceId => $service) { $event = event_new(); event_set($event, $service, EV_READ | EV_PERSIST | EV_WRITE, array($this, 'service'), $this->base); event_base_set($event, $this->base); event_add($event); $this->events[$serviceId] = $event; } if ($this->timer) { $timer = event_timer_new(); event_timer_set($timer, array($this, '_onTimer'), $timer); event_base_set($timer, $this->base); //event_timer_pending($timer, $this->timer * 1000000); event_timer_add($timer, $this->timer * 1000000); } event_base_loop($this->base); }
public function start() { $this->onStart(); $this->base = event_base_new(); if ($this->_server) { $this->event = event_new(); event_set($this->event, $this->_server, EV_READ | EV_PERSIST, array($this, 'accept'), $this->base); event_base_set($this->event, $this->base); event_add($this->event); } if ($this->_service) { $this->service_event = event_new(); event_set($this->service_event, $this->_service, EV_READ | EV_PERSIST, array($this, 'service'), $this->base); event_base_set($this->service_event, $this->base); event_add($this->service_event); } if ($this->_master) { $this->master_event = event_new(); event_set($this->master_event, $this->_master, EV_READ | EV_PERSIST | EV_WRITE, array($this, 'master'), $this->base); event_base_set($this->master_event, $this->base); event_add($this->master_event); } if ($this->timer) { $timer = event_timer_new(); event_timer_set($timer, array($this, '_onTimer'), $timer); event_base_set($timer, $this->base); //event_timer_pending($timer, $this->timer * 1000000); event_timer_add($timer, $this->timer * 1000000); } event_base_loop($this->base); }
/** * Initialize a new stream listener */ public function __construct($fn, $interval) { $this->fn = $fn; $this->interval = $interval; $this->event = event_timer_new(); event_timer_set($this->event, array($this, 'tick')); Loop::attachEvent($this->event, $this->interval * 1000); }
public function setTimeout($callback, $interval_ms) { $base = \Event\Emitter::getBase(); $event = event_timer_new(); $arg = array($callback, $event, $interval_ms); event_timer_set($event, array($this, 'ev_timer'), $arg); event_base_set($event, $base); event_add($event, $interval_ms * 1000); }
public function __construct($cb, $timeout = null, $id = null, $priority = null) { if ($id === null) { $id = ++self::$counter; } $this->id = $id; $this->cb = $cb; $this->ev = event_timer_new(); $timer = $this; event_timer_set($this->ev, array($this, 'eventCall')); event_base_set($this->ev, Daemon::$process->eventBase); if ($priority !== null) { $this->setPriority($priority); } if ($timeout !== null) { $this->timeout($timeout); } Timer::$list[$id] = $this; }
/** * Creates event resource * * @throws EventException * * @return void */ protected function initialize() { if (false === ($this->resource = event_timer_new())) { throw $this->exception('Could not create new event timer resource (event_new).'); } }
/** * Schedule a timer for execution. * * @param TimerInterface $timer */ private function scheduleTimer(TimerInterface $timer) { $this->timerEvents[$timer] = $event = event_timer_new(); event_timer_set($event, $this->timerCallback, $timer); event_base_set($event, $this->eventBase); event_add($event, $timer->getInterval() * self::MICROSECONDS_PER_SECOND); }