<?php use Rxnet\Event\Event; require __DIR__ . "/../../vendor/autoload.php"; $loop = new \Rxnet\Loop\LibEvLoop(); $serializer = new \Rxnet\Serializer\MsgPack(); $zmq = new \Rxnet\Zmq\RxZmq($loop, $serializer); $rep = $zmq->rep('ipc://test.sock'); $i = 0; $event = new Event('ping'); $rep->flatMap(new \Rxnet\Zmq\Plugins\Acknowledge($rep))->subscribeCallback(function () use(&$i) { $i++; echo "Got {$i} messages\n"; }, function ($e) { echo "Got an error {$e->getMessage()}\n"; }); $loop->run();
<?php use Rxnet\Event\Event; use Rxnet\Zmq\Plugins\WaitForAnswer; require __DIR__ . "/../../vendor/autoload.php"; $loop = new \Rxnet\Loop\LibEvLoop(); $serializer = new \Rxnet\Serializer\MsgPack(); $scheduler = new \Rx\Scheduler\EventLoopScheduler($loop); $zmq = new \Rxnet\Zmq\RxZmq($loop, $serializer); $event = new Event('ping'); for ($i = 0; $i < 200; $i++) { $req = $zmq->req('ipc://test.sock'); $req->send($event)->flatMap(new WaitForAnswer($req))->subscribeCallback(function () { echo "Got an answer\n"; }, function ($e) { echo "Got an error {$e->getMessage()}\n"; }); } $loop->run();