X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;ds=sidebyside;f=README.md;fp=README.md;h=56d7ef4eb604124b74fd54666fde5e804c81d6b3;hb=e67f84aed03307cfb4c1b6584dfc56de6be1be92;hp=0000000000000000000000000000000000000000;hpb=a321c4cdae45892e2538e8bc0ec01e5965f46e02;p=m6w6%2Fatick diff --git a/README.md b/README.md new file mode 100644 index 0000000..56d7ef4 --- /dev/null +++ b/README.md @@ -0,0 +1,49 @@ +atick\Ticker +============ + +Asynchronnous resource handling, optionally (ab)using ticks + +**Example with ticks:** + +```PHP +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)); +``` + +**And an example without ticks:** + +```php +$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()); +```