<?php // script to check for memory leaks require __DIR__ . '/../../../vendor/autoload.php'; $loop = new React\EventLoop\StreamSelectLoop(); class Zinger { public $i = 0; public function zing($n, $callback) { $this->i++; $callback($n * 100); } } $zinger = new Zinger(); $server = new DNode\DNode($loop, $zinger); $server->listen(7070); $loop->addPeriodicTimer(2, function () use($zinger) { $kmem = memory_get_usage(true) / 1024; echo "Run: {$zinger->i}\n"; echo "Memory: {$kmem} KiB\n"; }); $loop->run();
<?php // Include Composer-generated autoloader require __DIR__ . '/../../vendor/autoload.php'; // This is the class we're exposing to DNode class Converter { // Poll the client's own temperature() in celsius and convert that value to // fahrenheit in the supplied callback public function clientTempF($cb) { $this->remote->temperature(function ($degC) use($cb) { $degF = round($degC * 9 / 5 + 32); $cb($degF); }); } } $loop = new React\EventLoop\StreamSelectLoop(); // Create a DNode server $server = new DNode\DNode($loop, new Converter()); $server->listen(6060); $loop->run();