Skip to content

Commit 6b22819

Browse files
authored
Merge pull request #24 from clue-labs/default-loop
Simplify examples by updating to new default loop
2 parents bcbb58a + 7f62945 commit 6b22819

File tree

8 files changed

+41
-56
lines changed

8 files changed

+41
-56
lines changed

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ test,1,24
155155
"hello world",2,48
156156
```
157157
```php
158-
$stdin = new ReadableResourceStream(STDIN, $loop);
158+
$stdin = new ReadableResourceStream(STDIN);
159159

160160
$stream = new Decoder($stdin);
161161

@@ -261,7 +261,7 @@ test,1
261261
"hello world",2
262262
```
263263
```php
264-
$stdin = new ReadableResourceStream(STDIN, $loop);
264+
$stdin = new ReadableResourceStream(STDIN);
265265

266266
$stream = new AssocDecoder($stdin);
267267

@@ -304,7 +304,7 @@ and accepts its data through the same interface, but handles any data as complet
304304
CSV elements instead of just chunks of strings:
305305

306306
```php
307-
$stdout = new WritableResourceStream(STDOUT, $loop);
307+
$stdout = new WritableResourceStream(STDOUT);
308308

309309
$stream = new Encoder($stdout);
310310

composer.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,19 @@
1010
"email": "[email protected]"
1111
}
1212
],
13-
"autoload": {
14-
"psr-4": { "Clue\\React\\Csv\\": "src/" }
15-
},
16-
"autoload-dev": {
17-
"psr-4": { "Clue\\Tests\\React\\Csv\\": "tests/" }
18-
},
1913
"require": {
2014
"php": ">=5.3",
21-
"react/stream": "^1.0 || ^0.7 || ^0.6"
15+
"react/stream": "^1.2"
2216
},
2317
"require-dev": {
2418
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35",
25-
"react/child-process": "^0.6",
26-
"react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3"
19+
"react/child-process": "^0.6.3",
20+
"react/event-loop": "^1.2"
21+
},
22+
"autoload": {
23+
"psr-4": { "Clue\\React\\Csv\\": "src/" }
24+
},
25+
"autoload-dev": {
26+
"psr-4": { "Clue\\Tests\\React\\Csv\\": "tests/" }
2727
}
2828
}

examples/01-count.php

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,15 @@
33
// $ php examples/01-count.php < examples/users.csv
44

55
use Clue\React\Csv\AssocDecoder;
6-
use React\EventLoop\Factory;
6+
use React\EventLoop\Loop;
77
use React\Stream\ReadableResourceStream;
88
use React\Stream\WritableResourceStream;
99

1010
require __DIR__ . '/../vendor/autoload.php';
1111

12-
$loop = Factory::create();
13-
1412
$exit = 0;
15-
$in = new ReadableResourceStream(STDIN, $loop);
16-
$info = new WritableResourceStream(STDERR, $loop);
13+
$in = new ReadableResourceStream(STDIN);
14+
$info = new WritableResourceStream(STDERR);
1715

1816
$delimiter = isset($argv[1]) ? $argv[1] : ',';
1917

@@ -37,6 +35,6 @@
3735
$info->write('The resulting number of records (rows minus header row) will be printed to STDOUT' . PHP_EOL);
3836
$info->write('Invalid CSV will raise an error on STDERR and exit with code 1' . PHP_EOL);
3937

40-
$loop->run();
38+
Loop::run();
4139

4240
exit($exit);

examples/02-validate.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,16 @@
44

55
use Clue\React\Csv\Decoder;
66
use Clue\React\Csv\Encoder;
7-
use React\EventLoop\Factory;
7+
use React\EventLoop\Loop;
88
use React\Stream\ReadableResourceStream;
99
use React\Stream\WritableResourceStream;
1010

1111
require __DIR__ . '/../vendor/autoload.php';
1212

13-
$loop = Factory::create();
14-
1513
$exit = 0;
16-
$in = new ReadableResourceStream(STDIN, $loop);
17-
$out = new WritableResourceStream(STDOUT, $loop);
18-
$info = new WritableResourceStream(STDERR, $loop);
14+
$in = new ReadableResourceStream(STDIN);
15+
$out = new WritableResourceStream(STDOUT);
16+
$info = new WritableResourceStream(STDERR);
1917

2018
$delimiter = isset($argv[1]) ? $argv[1] : ',';
2119

@@ -32,6 +30,6 @@
3230
$info->write('Valid CSV will be forwarded to STDOUT' . PHP_EOL);
3331
$info->write('Invalid CSV will raise an error on STDERR and exit with code 1' . PHP_EOL);
3432

35-
$loop->run();
33+
Loop::run();
3634

3735
exit($exit);

examples/11-csv2ndjson.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@
44
// see also https://github.com/clue/reactphp-ndjson
55

66
use Clue\React\Csv\AssocDecoder;
7-
use React\EventLoop\Factory;
7+
use React\EventLoop\Loop;
88
use React\Stream\ReadableResourceStream;
99
use React\Stream\WritableResourceStream;
1010
use React\Stream\ThroughStream;
1111

1212
require __DIR__ . '/../vendor/autoload.php';
1313

14-
$loop = Factory::create();
15-
1614
$exit = 0;
17-
$in = new ReadableResourceStream(STDIN, $loop);
18-
$out = new WritableResourceStream(STDOUT, $loop);
19-
$info = new WritableResourceStream(STDERR, $loop);
15+
$in = new ReadableResourceStream(STDIN);
16+
$out = new WritableResourceStream(STDOUT);
17+
$info = new WritableResourceStream(STDERR);
2018

2119
$delimiter = isset($argv[1]) ? $argv[1] : ',';
2220

@@ -41,6 +39,6 @@
4139
$info->write('Valid NDJSON (Newline-Delimited JSON) will be forwarded to STDOUT' . PHP_EOL);
4240
$info->write('Invalid CSV will raise an error on STDERR and exit with code 1' . PHP_EOL);
4341

44-
$loop->run();
42+
Loop::run();
4543

4644
exit($exit);

examples/12-csv2tsv.php

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,17 @@
44
// see also https://github.com/clue/reactphp-tsv
55

66
use Clue\React\Csv\Decoder;
7-
use React\EventLoop\Factory;
7+
use React\EventLoop\Loop;
88
use React\Stream\ReadableResourceStream;
99
use React\Stream\WritableResourceStream;
1010
use React\Stream\ThroughStream;
1111

1212
require __DIR__ . '/../vendor/autoload.php';
1313

14-
$loop = Factory::create();
15-
1614
$exit = 0;
17-
$in = new ReadableResourceStream(STDIN, $loop);
18-
$out = new WritableResourceStream(STDOUT, $loop);
19-
$info = new WritableResourceStream(STDERR, $loop);
15+
$in = new ReadableResourceStream(STDIN);
16+
$out = new WritableResourceStream(STDOUT);
17+
$info = new WritableResourceStream(STDERR);
2018

2119
$delimiter = isset($argv[1]) ? $argv[1] : ',';
2220

@@ -50,6 +48,6 @@
5048
$info->write('Valid TSV (Tab-Separated Values) will be forwarded to STDOUT' . PHP_EOL);
5149
$info->write('Invalid CSV will raise an error on STDERR and exit with code 1' . PHP_EOL);
5250

53-
$loop->run();
51+
Loop::run();
5452

5553
exit($exit);

examples/91-benchmark-count.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
// $ php examples/91-benchmark-count.php < IRAhandle_tweets_1.csv
1212

1313
use Clue\React\Csv\AssocDecoder;
14-
use React\EventLoop\Factory;
14+
use React\EventLoop\Loop;
1515
use React\Stream\ReadableResourceStream;
1616

1717
require __DIR__ . '/../vendor/autoload.php';
@@ -20,24 +20,21 @@
2020
echo 'NOTICE: The "xdebug" extension is loaded, this has a major impact on performance.' . PHP_EOL;
2121
}
2222

23-
$loop = Factory::create();
24-
$decoder = new AssocDecoder(new ReadableResourceStream(STDIN, $loop));
23+
$decoder = new AssocDecoder(new ReadableResourceStream(STDIN));
2524

2625
$count = 0;
2726
$decoder->on('data', function () use (&$count) {
2827
++$count;
2928
});
3029

3130
$start = microtime(true);
32-
$report = $loop->addPeriodicTimer(0.05, function () use (&$count, $start) {
31+
$report = Loop::addPeriodicTimer(0.05, function () use (&$count, $start) {
3332
printf("\r%d records in %0.3fs...", $count, microtime(true) - $start);
3433
});
3534

36-
$decoder->on('close', function () use (&$count, $report, $loop, $start) {
35+
$decoder->on('close', function () use (&$count, $report, $start) {
3736
$now = microtime(true);
38-
$loop->cancelTimer($report);
37+
Loop::cancelTimer($report);
3938

4039
printf("\r%d records in %0.3fs => %d records/s\n", $count, $now - $start, $count / ($now - $start));
4140
});
42-
43-
$loop->run();

examples/92-benchmark-count-gzip.php

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,14 @@
1212

1313
use Clue\React\Csv\AssocDecoder;
1414
use React\ChildProcess\Process;
15-
use React\EventLoop\Factory;
15+
use React\EventLoop\Loop;
1616

1717
require __DIR__ . '/../vendor/autoload.php';
1818

1919
if (extension_loaded('xdebug')) {
2020
echo 'NOTICE: The "xdebug" extension is loaded, this has a major impact on performance.' . PHP_EOL;
2121
}
2222

23-
$loop = Factory::create();
24-
2523
// This benchmark example spawns the decompressor in a child `gunzip` process
2624
// because parsing CSV files is already mostly CPU-bound and multi-processing
2725
// is preferred here. If the input source is slower (such as an HTTP download)
@@ -32,7 +30,7 @@
3230
1 => array('pipe', 'w'),
3331
STDERR
3432
));
35-
$process->start($loop);
33+
$process->start();
3634
$decoder = new AssocDecoder($process->stdout);
3735

3836
$count = 0;
@@ -41,15 +39,13 @@
4139
});
4240

4341
$start = microtime(true);
44-
$report = $loop->addPeriodicTimer(0.05, function () use (&$count, $start) {
42+
$report = Loop::addPeriodicTimer(0.05, function () use (&$count, $start) {
4543
printf("\r%d records in %0.3fs...", $count, microtime(true) - $start);
4644
});
4745

48-
$decoder->on('close', function () use (&$count, $report, $loop, $start) {
46+
$decoder->on('close', function () use (&$count, $report, $start) {
4947
$now = microtime(true);
50-
$loop->cancelTimer($report);
48+
Loop::cancelTimer($report);
5149

5250
printf("\r%d records in %0.3fs => %d records/s\n", $count, $now - $start, $count / ($now - $start));
5351
});
54-
55-
$loop->run();

0 commit comments

Comments
 (0)