<?php use React\EventLoop\Factory; require __DIR__ . '/../vendor/autoload.php'; if (!defined('STDIN') || stream_set_blocking(STDIN, false) !== true) { fwrite(STDERR, 'ERROR: Unable to set STDIN non-blocking (not CLI or Windows?)' . PHP_EOL); exit(1); } $loop = Factory::create(); // read everything from STDIN and report number of bytes // for illustration purposes only, should use react/stream instead $loop->addReadStream(STDIN, function ($stream) use ($loop) { $chunk = fread($stream, 64 * 1024); // reading nothing means we reached EOF if ($chunk === '') { $loop->removeReadStream($stream); stream_set_blocking($stream, true); fclose($stream); return; } echo strlen($chunk) . ' bytes' . PHP_EOL; }); $loop->run();
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
01-timers.php | File | 239 B | 0644 |
|
02-periodic.php | File | 315 B | 0644 |
|
03-ticks.php | File | 222 B | 0644 |
|
04-signals.php | File | 504 B | 0644 |
|
11-consume-stdin.php | File | 787 B | 0644 |
|
12-generate-yes.php | File | 1.3 KB | 0644 |
|
13-http-client-blocking.php | File | 822 B | 0644 |
|
14-http-client-async.php | File | 1.76 KB | 0644 |
|
21-http-server.php | File | 1.04 KB | 0644 |
|
91-benchmark-ticks.php | File | 250 B | 0644 |
|
92-benchmark-timers.php | File | 251 B | 0644 |
|
93-benchmark-ticks-delay.php | File | 396 B | 0644 |
|
94-benchmark-timers-delay.php | File | 396 B | 0644 |
|
95-benchmark-memory.php | File | 1.85 KB | 0644 |
|