From fc9401f04a3aca5abb22f87ebc210de8afe11d32 Mon Sep 17 00:00:00 2001 From: marvin-borner@live.com Date: Tue, 10 Apr 2018 21:50:16 +0200 Subject: Initial Commit --- .../react/event-loop/examples/12-generate-yes.php | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 assets/php/vendor/react/event-loop/examples/12-generate-yes.php (limited to 'assets/php/vendor/react/event-loop/examples/12-generate-yes.php') diff --git a/assets/php/vendor/react/event-loop/examples/12-generate-yes.php b/assets/php/vendor/react/event-loop/examples/12-generate-yes.php new file mode 100644 index 0000000..ebc2beb --- /dev/null +++ b/assets/php/vendor/react/event-loop/examples/12-generate-yes.php @@ -0,0 +1,41 @@ +addWriteStream(STDOUT, function ($stdout) use ($loop, &$data) { + // try to write data + $r = fwrite($stdout, $data); + + // nothing could be written despite being writable => closed + if ($r === 0) { + $loop->removeWriteStream($stdout); + fclose($stdout); + stream_set_blocking($stdout, true); + fwrite(STDERR, 'Stopped because STDOUT closed' . PHP_EOL); + + return; + } + + // implement a very simple ring buffer, unless everything has been written at once: + // everything written in this iteration will be appended for next iteration + if (isset($data[$r])) { + $data = substr($data, $r) . substr($data, 0, $r); + } +}); + +$loop->run(); -- cgit v1.2.3