m6w6/atick

该包已被放弃且不再维护。未建议替代包。

异步资源处理,可选地使用(或滥用)tick

dev-master 2013-11-25 10:51 UTC

This package is auto-updated.

Last update: 2020-02-10 15:41:40 UTC


README

Build Status

异步资源处理,可选地(滥用)使用tick。

使用tick的示例

declare(ticks=1);

$conn = new \pq\Connection;
$conn->execAsync("SELECT * FROM foo", function ($rs) {
    var_dump($rs);
});

$ticker = new \atick\Ticker;
$ticker->register();
$ticker->read($conn->socket, function($fd) use ($conn) {
    $conn->poll();
    if ($conn->busy) {
        return false;
    }
    $conn->getResult();
    return true;
});

while (count($ticker));

不使用tick的示例

$conn = new \pq\Connection;
$conn->execAsync("SELECT * FROM foo", function ($r) {
    var_dump($r);
});

$ticker = new \atick\Ticker;
$ticker->read($conn->socket, function($fd) use ($conn) {
    $conn->poll();
    if ($conn->busy) {
        return false;
    }
    $conn->getResult();
    return true;
});

while($ticker());