|
1 | 1 | <?php |
2 | 2 |
|
3 | | - |
4 | 3 | use React\EventLoop\Factory; |
5 | | -use WyriHaximus\React\Parallel\Infinite; |
| 4 | +use ReactParallel\EventLoop\EventLoopBridge; |
| 5 | +use ReactParallel\Pool\Infinite\Infinite; |
| 6 | + |
6 | 7 | use function React\Promise\all; |
7 | 8 | use function WyriHaximus\iteratorOrArrayToArray; |
8 | 9 |
|
9 | 10 | require dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; |
10 | 11 |
|
11 | 12 | $loop = Factory::create(); |
12 | 13 |
|
13 | | -$finite = new Infinite($loop, 0.1); |
| 14 | +$infinite = new Infinite($loop, new EventLoopBridge($loop), 0.1); |
14 | 15 |
|
15 | | -$timer = $loop->addPeriodicTimer(1, function () use ($finite) { |
16 | | - var_export(iteratorOrArrayToArray($finite->info())); |
| 16 | +$timer = $loop->addPeriodicTimer(1, function () use ($infinite) { |
| 17 | + var_export(iteratorOrArrayToArray($infinite->info())); |
17 | 18 | }); |
18 | 19 |
|
19 | 20 | $promises = []; |
20 | 21 | foreach (range(0, 250) as $i) { |
21 | | - $promises[] = $finite->run(function($sleep) { |
| 22 | + $promises[] = $infinite->run(function($sleep) { |
22 | 23 | sleep($sleep); |
23 | 24 | return $sleep; |
24 | 25 | }, [random_int(1, 13)])->then(function (int $sleep) use ($i) { |
|
28 | 29 | }); |
29 | 30 | } |
30 | 31 |
|
31 | | -$signalHandler = function () use ($finite, $loop) { |
| 32 | +$signalHandler = function () use ($infinite, $loop) { |
32 | 33 | $loop->stop(); |
33 | | - $finite->close(); |
| 34 | + $infinite->close(); |
34 | 35 | }; |
35 | | -all($promises)->then(function ($v) use ($finite, $loop, $signalHandler, $timer) { |
36 | | - $finite->close(); |
| 36 | +all($promises)->then(function ($v) use ($infinite, $loop, $signalHandler, $timer) { |
| 37 | + $infinite->close(); |
37 | 38 | $loop->removeSignal(SIGINT, $signalHandler); |
38 | 39 | $loop->cancelTimer($timer); |
| 40 | + $loop->stop(); |
39 | 41 | })->done(); |
40 | 42 |
|
41 | 43 | $loop->addSignal(SIGINT, $signalHandler); |
|
0 commit comments