Пример #1
0
<?php

$loop = uv_default_loop();
$timer = uv_timer_init();
$i = 0;
uv_timer_start($timer, 1000, 1000, function ($stat) use(&$i, $timer, $loop) {
    echo "count: {$i}" . PHP_EOL;
    $i++;
    if ($i > 3) {
        uv_timer_stop($timer);
        uv_unref($timer);
    }
});
uv_run();
echo "finished";
Пример #2
0
<?php

$loop = uv_default_loop();
$idle = uv_idle_init();
$i = 0;
uv_idle_start($idle, function ($stat) use(&$i, $idle, $loop) {
    echo "count: {$i}" . PHP_EOL;
    $i++;
    if ($i > 3) {
        uv_idle_stop($idle);
        uv_unref($idle);
    }
    sleep(1);
});
uv_run();
echo "finished";
Пример #3
0
 public function clearInterval($interval_id)
 {
     uv_timer_stop($interval_id);
     uv_unref($interval_id);
 }
Пример #4
0
 private function disablePollFromWatcher($watcher)
 {
     $poll = $watcher->poll;
     $watcherId = $watcher->id;
     unset($poll->readers[$watcherId], $poll->writers[$watcherId]);
     $poll->disable[$watcherId] = $watcher;
     if ($watcher->keepAlive) {
         \uv_unref($poll->handle);
     }
     if (!($poll->readers || $poll->writers)) {
         \uv_poll_stop($poll->handle);
         return;
     }
     // If we're still here we may need to update the polling flags
     $newFlags = 0;
     if ($poll->readers) {
         $newFlags |= \UV::READABLE;
     }
     if ($poll->writers) {
         $newFlags |= \UV::WRITABLE;
     }
     if ($poll->flags != $newFlags) {
         $poll->flags = $newFlags;
         \uv_poll_start($poll->handle, $newFlags, $poll->callback);
     }
 }
Пример #5
0
<?php

$loop = uv_default_loop();
$prepare = uv_prepare_init($loop);
uv_prepare_start($prepare, function ($rsc, $status) {
    echo "Hello";
    uv_unref($rsc);
});
uv_run();