@@ -24,7 +24,7 @@ |
||
24 | 24 | * @psalm-suppress PossiblyNullReference |
25 | 25 | */ |
26 | 26 | $arguments = (new ReflectionClass(Process::class))->getConstructor()->getParameters(); /** @phpstan-ignore-line */ |
27 | - if (! isset($arguments[self::EXPECTED_INDEX])) { /** @phpstan-ignore-line */ |
|
27 | + if (!isset($arguments[self::EXPECTED_INDEX])) { /** @phpstan-ignore-line */ |
|
28 | 28 | return $should = FALSE_; |
29 | 29 | } |
30 | 30 |
@@ -21,7 +21,7 @@ discard block |
||
21 | 21 | { |
22 | 22 | $uniqid = $this->getNewUniqid(); |
23 | 23 | |
24 | - $this->calls[$uniqid] = new OutstandingCall($uniqid, $canceller, function (OutstandingCall $call): void { |
|
24 | + $this->calls[$uniqid] = new OutstandingCall($uniqid, $canceller, function(OutstandingCall $call): void { |
|
25 | 25 | unset($this->calls[$call->getUniqid()]); |
26 | 26 | }); |
27 | 27 | |
@@ -44,7 +44,7 @@ discard block |
||
44 | 44 | private function getNewUniqid(): string |
45 | 45 | { |
46 | 46 | do { |
47 | - $uniqid = (string) microtime(true) . '.' . bin2hex(random_bytes(4)); |
|
47 | + $uniqid = (string)microtime(true) . '.' . bin2hex(random_bytes(4)); |
|
48 | 48 | } while (array_key_exists($uniqid, $this->calls)); |
49 | 49 | |
50 | 50 | return $uniqid; |
@@ -53,11 +53,11 @@ discard block |
||
53 | 53 | LoopInterface $loop, |
54 | 54 | array $options = [] |
55 | 55 | ): Promise\PromiseInterface { |
56 | - return new Promise\Promise(static function (callable $resolve, callable $reject) use ($process, $loop, $options): void { |
|
56 | + return new Promise\Promise(static function(callable $resolve, callable $reject) use ($process, $loop, $options): void { |
|
57 | 57 | $server = new SocketServer('127.0.0.1:0', [], $loop); |
58 | 58 | |
59 | 59 | $options['random'] = bin2hex(random_bytes(32)); |
60 | - $options['address'] = (string) $server->getAddress(); |
|
60 | + $options['address'] = (string)$server->getAddress(); |
|
61 | 61 | $options = new Options($options['random'], $options['address'], $options['connect-timeout'] ?? self::DEFAULT_CONNECT_TIMEOUT); |
62 | 62 | $argvString = escapeshellarg(ArgvEncoder::encode($options)); |
63 | 63 | $process = new Process($process->getCommand() . ' ' . $argvString); |
@@ -79,12 +79,12 @@ discard block |
||
79 | 79 | LoopInterface $loop, |
80 | 80 | array $options = [] |
81 | 81 | ): Promise\PromiseInterface { |
82 | - if (! is_subclass_of($class, ChildInterface::class)) { |
|
82 | + if (!is_subclass_of($class, ChildInterface::class)) { |
|
83 | 83 | /** @phpstan-ignore-next-line */ |
84 | 84 | throw new Exception('Given class doesn\'t implement ChildInterface'); |
85 | 85 | } |
86 | 86 | |
87 | - return new Promise\Promise(static function (callable $resolve, callable $reject) use ($class, $loop, $options): void { |
|
87 | + return new Promise\Promise(static function(callable $resolve, callable $reject) use ($class, $loop, $options): void { |
|
88 | 88 | $template = '%s'; |
89 | 89 | if (array_key_exists('cmdTemplate', $options)) { |
90 | 90 | $template = $options['cmdTemplate']; |
@@ -101,13 +101,13 @@ discard block |
||
101 | 101 | } |
102 | 102 | |
103 | 103 | foreach ($fileDescriptorLister->list() as $id) { |
104 | - $fds[(int) $id] = ['file', '/dev/null', 'r']; |
|
104 | + $fds[(int)$id] = ['file', '/dev/null', 'r']; |
|
105 | 105 | } |
106 | 106 | } |
107 | 107 | |
108 | 108 | $server = new SocketServer('127.0.0.1:0', [], $loop); |
109 | 109 | $connectTimeout = $options['connect-timeout'] ?? self::DEFAULT_CONNECT_TIMEOUT; |
110 | - $options = new Options(bin2hex(random_bytes(32)), (string) $server->getAddress(), $options['connect-timeout'] ?? self::DEFAULT_CONNECT_TIMEOUT); |
|
110 | + $options = new Options(bin2hex(random_bytes(32)), (string)$server->getAddress(), $options['connect-timeout'] ?? self::DEFAULT_CONNECT_TIMEOUT); |
|
111 | 111 | |
112 | 112 | $phpBinary = escapeshellarg(PHP_BINARY . (PHP_SAPI === 'phpdbg' ? ' -qrr --' : '')); |
113 | 113 | $childProcessPath = escapeshellarg(dirname(__DIR__) . DIRECTORY_SEPARATOR . 'bin' . DIRECTORY_SEPARATOR . 'child-process'); |
@@ -124,10 +124,10 @@ discard block |
||
124 | 124 | $fds |
125 | 125 | ); |
126 | 126 | |
127 | - futurePromise($loop)->then(static function () use ($process, $server, $loop, $options, $connectTimeout): Promise\PromiseInterface { |
|
127 | + futurePromise($loop)->then(static function() use ($process, $server, $loop, $options, $connectTimeout): Promise\PromiseInterface { |
|
128 | 128 | return Promise\Timer\timeout(self::startParent($process, $server, $loop, $options), $connectTimeout, $loop); |
129 | - })->then(static function (Messenger $messenger) use ($class): Promise\PromiseInterface { |
|
130 | - return $messenger->rpc(MessengesFactory::rpc(Factory::PROCESS_REGISTER, ['className' => $class]))->then(static function () use ($messenger): Promise\PromiseInterface { |
|
129 | + })->then(static function(Messenger $messenger) use ($class): Promise\PromiseInterface { |
|
130 | + return $messenger->rpc(MessengesFactory::rpc(Factory::PROCESS_REGISTER, ['className' => $class]))->then(static function() use ($messenger): Promise\PromiseInterface { |
|
131 | 131 | return Promise\resolve($messenger); |
132 | 132 | }); |
133 | 133 | })->then($resolve, $reject); |
@@ -141,9 +141,9 @@ discard block |
||
141 | 141 | { |
142 | 142 | $connectTimeout = $options->connectTimeout(); |
143 | 143 | |
144 | - return (new Connector($loop, ['timeout' => $connectTimeout]))->connect($options->address())->then(static function (ConnectionInterface $connection) use ($options, $loop, $connectTimeout): Promise\PromiseInterface { |
|
145 | - return new Promise\Promise(static function (callable $resolve, callable $reject) use ($connection, $options, $loop, $connectTimeout): void { |
|
146 | - Promise\Timer\timeout(Promise\Stream\first($connection), $connectTimeout, $loop)->then(static function (string $chunk) use ($resolve, $reject, $connection, $options, $loop): void { |
|
144 | + return (new Connector($loop, ['timeout' => $connectTimeout]))->connect($options->address())->then(static function(ConnectionInterface $connection) use ($options, $loop, $connectTimeout): Promise\PromiseInterface { |
|
145 | + return new Promise\Promise(static function(callable $resolve, callable $reject) use ($connection, $options, $loop, $connectTimeout): void { |
|
146 | + Promise\Timer\timeout(Promise\Stream\first($connection), $connectTimeout, $loop)->then(static function(string $chunk) use ($resolve, $reject, $connection, $options, $loop): void { |
|
147 | 147 | [$confirmation] = explode(PHP_EOL, $chunk); |
148 | 148 | if ($confirmation === 'syn') { |
149 | 149 | $connection->write('ack' . PHP_EOL); |
@@ -158,9 +158,9 @@ discard block |
||
158 | 158 | }, $reject); |
159 | 159 | $connection->write(hash_hmac('sha512', $options->address(), $options->random()) . PHP_EOL); |
160 | 160 | }); |
161 | - })->then(static function (Messenger $messenger) use ($loop, $termiteCallable): Messenger { |
|
161 | + })->then(static function(Messenger $messenger) use ($loop, $termiteCallable): Messenger { |
|
162 | 162 | if ($termiteCallable === null) { |
163 | - $termiteCallable = static function () use ($loop): void { |
|
163 | + $termiteCallable = static function() use ($loop): void { |
|
164 | 164 | $loop->addTimer( |
165 | 165 | self::TERMINATE_TIMEOUT, |
166 | 166 | [ |
@@ -173,7 +173,7 @@ discard block |
||
173 | 173 | |
174 | 174 | $messenger->registerRpc( |
175 | 175 | Messenger::TERMINATE_RPC, |
176 | - static function (Payload $payload, Messenger $messenger) use ($termiteCallable): Promise\PromiseInterface { |
|
176 | + static function(Payload $payload, Messenger $messenger) use ($termiteCallable): Promise\PromiseInterface { |
|
177 | 177 | $messenger->emit('terminate', [$messenger]); |
178 | 178 | $termiteCallable(); |
179 | 179 | |
@@ -191,11 +191,11 @@ discard block |
||
191 | 191 | LoopInterface $loop, |
192 | 192 | Options $options |
193 | 193 | ): Promise\PromiseInterface { |
194 | - return (new Promise\Promise(static function (callable $resolve, callable $reject) use ($process, $server, $loop, $options): void { |
|
194 | + return (new Promise\Promise(static function(callable $resolve, callable $reject) use ($process, $server, $loop, $options): void { |
|
195 | 195 | $server->on( |
196 | 196 | 'connection', |
197 | - static function (ConnectionInterface $connection) use ($server, $resolve, $reject, $options): void { |
|
198 | - Promise\Stream\first($connection)->then(static function (string $chunk) use ($options, $connection): Promise\PromiseInterface { |
|
197 | + static function(ConnectionInterface $connection) use ($server, $resolve, $reject, $options): void { |
|
198 | + Promise\Stream\first($connection)->then(static function(string $chunk) use ($options, $connection): Promise\PromiseInterface { |
|
199 | 199 | [$confirmation] = explode(PHP_EOL, $chunk); |
200 | 200 | if ($confirmation === hash_hmac('sha512', $options->address(), $options->random())) { |
201 | 201 | $connection->write('syn' . PHP_EOL); |
@@ -204,32 +204,32 @@ discard block |
||
204 | 204 | } |
205 | 205 | |
206 | 206 | return Promise\reject(new RuntimeException('Signature mismatch')); |
207 | - })->then(static function (string $chunk) use ($options, $connection): Promise\PromiseInterface { |
|
207 | + })->then(static function(string $chunk) use ($options, $connection): Promise\PromiseInterface { |
|
208 | 208 | [$confirmation] = explode(PHP_EOL, $chunk); |
209 | 209 | if ($confirmation === 'ack') { |
210 | 210 | return Promise\resolve(new Messenger($connection, $options)); |
211 | 211 | } |
212 | 212 | |
213 | 213 | return Promise\reject(new RuntimeException('Handshake failed')); |
214 | - })->then(static function (MessengerInterface $messenger) use ($server, $resolve): void { |
|
214 | + })->then(static function(MessengerInterface $messenger) use ($server, $resolve): void { |
|
215 | 215 | $server->close(); |
216 | 216 | $resolve($messenger); |
217 | - }, static function (Throwable $throwable) use ($server, $reject): void { |
|
217 | + }, static function(Throwable $throwable) use ($server, $reject): void { |
|
218 | 218 | $server->close(); |
219 | 219 | $reject($throwable); |
220 | 220 | }); |
221 | 221 | } |
222 | 222 | ); |
223 | - $server->on('error', static function (Throwable $et) use ($reject): void { |
|
223 | + $server->on('error', static function(Throwable $et) use ($reject): void { |
|
224 | 224 | $reject($et); |
225 | 225 | }); |
226 | 226 | |
227 | 227 | $process->start($loop); |
228 | - }, static function () use ($server, $process): void { |
|
228 | + }, static function() use ($server, $process): void { |
|
229 | 229 | $server->close(); |
230 | 230 | $process->terminate(); |
231 | - }))->then(static function (Messenger $messenger) use ($loop, $process): Messenger { |
|
232 | - $loop->addPeriodicTimer(self::INTERVAL, static function (TimerInterface $timer) use ($messenger, $loop, $process): void { |
|
231 | + }))->then(static function(Messenger $messenger) use ($loop, $process): Messenger { |
|
232 | + $loop->addPeriodicTimer(self::INTERVAL, static function(TimerInterface $timer) use ($messenger, $loop, $process): void { |
|
233 | 233 | if ($process->isRunning()) { |
234 | 234 | return; |
235 | 235 | } |
@@ -15,9 +15,9 @@ |
||
15 | 15 | $exitCode = 0; |
16 | 16 | |
17 | 17 | $loop = Loop::get(); |
18 | - MessengerFactory::child($loop, ArgvEncoder::decode($arguments))->then(static function (Messenger $messenger) use ($loop): void { |
|
18 | + MessengerFactory::child($loop, ArgvEncoder::decode($arguments))->then(static function(Messenger $messenger) use ($loop): void { |
|
19 | 19 | Process::create($loop, $messenger); |
20 | - })->then(null, static function () use ($loop, &$exitCode): void { |
|
20 | + })->then(null, static function() use ($loop, &$exitCode): void { |
|
21 | 21 | $loop->stop(); |
22 | 22 | $exitCode = 1; |
23 | 23 | }); |
@@ -27,11 +27,11 @@ discard block |
||
27 | 27 | $this->messenger = $messenger; |
28 | 28 | $this->messenger->registerRpc( |
29 | 29 | MessengerFactory::PROCESS_REGISTER, |
30 | - function (Payload $payload): PromiseInterface { |
|
30 | + function(Payload $payload): PromiseInterface { |
|
31 | 31 | /** |
32 | 32 | * @psalm-suppress PossiblyNullArgument |
33 | 33 | */ |
34 | - if (! is_subclass_of($payload['className'], ChildInterface::class)) { |
|
34 | + if (!is_subclass_of($payload['className'], ChildInterface::class)) { |
|
35 | 35 | throw DoesNotImplementChildInterfaceException::create($payload['className'] ?? ''); |
36 | 36 | } |
37 | 37 | |
@@ -45,9 +45,9 @@ discard block |
||
45 | 45 | |
46 | 46 | public static function create(LoopInterface $loop, Messenger $messenger): void |
47 | 47 | { |
48 | - $reject = static function (Throwable $exeption) use ($loop): void { |
|
48 | + $reject = static function(Throwable $exeption) use ($loop): void { |
|
49 | 49 | // $messenger->error(MessagesFactory::error($exeption->getFile())); |
50 | - $loop->addTimer(1, static function () use ($loop): void { |
|
50 | + $loop->addTimer(1, static function() use ($loop): void { |
|
51 | 51 | $loop->stop(); |
52 | 52 | }); |
53 | 53 | }; |
@@ -61,7 +61,7 @@ discard block |
||
61 | 61 | |
62 | 62 | private function deregisterRpc(): void |
63 | 63 | { |
64 | - $this->loop->futureTick(function (): void { |
|
64 | + $this->loop->futureTick(function(): void { |
|
65 | 65 | $this->messenger->deregisterRpc(MessengerFactory::PROCESS_REGISTER); |
66 | 66 | }); |
67 | 67 | } |
@@ -10,14 +10,14 @@ discard block |
||
10 | 10 | |
11 | 11 | $loop = LoopFactory::create(); |
12 | 12 | |
13 | -MessengerFactory::parentFromClass(ExamplesChildProcess::class, $loop)->done(function (Messenger $messenger) use ($loop) { |
|
13 | +MessengerFactory::parentFromClass(ExamplesChildProcess::class, $loop)->done(function(Messenger $messenger) use ($loop) { |
|
14 | 14 | $i = 0; |
15 | 15 | |
16 | - $messenger->on('error', function ($e) { |
|
16 | + $messenger->on('error', function($e) { |
|
17 | 17 | echo 'Error: ', \var_export($e, true), PHP_EOL; |
18 | 18 | }); |
19 | 19 | |
20 | - $loop->addPeriodicTimer(1, function (TimerInterface $timer) use ($messenger, &$i, $loop) { |
|
20 | + $loop->addPeriodicTimer(1, function(TimerInterface $timer) use ($messenger, &$i, $loop) { |
|
21 | 21 | if ($i >= 13) { |
22 | 22 | $messenger->softTerminate(); |
23 | 23 | $loop->cancelTimer($timer); |
@@ -27,7 +27,7 @@ discard block |
||
27 | 27 | |
28 | 28 | $messenger->rpc(MessageFactory::rpc('format', [ |
29 | 29 | 'unixTime' => \time(), |
30 | - ]))->then(function ($formattedTime) { |
|
30 | + ]))->then(function($formattedTime) { |
|
31 | 31 | echo $formattedTime['formattedTime'], PHP_EOL; |
32 | 32 | }); |
33 | 33 | $i++; |
@@ -18,8 +18,8 @@ |
||
18 | 18 | |
19 | 19 | $arguments = \array_pop($argv); |
20 | 20 | $loop = LoopFactory::create(); |
21 | -MessengerFactory::child($loop, ArgvEncoder::decode($arguments))->done(function (Messenger $messenger) use ($loop) { |
|
22 | - $messenger->registerRpc('hello', function (Payload $payload, Messenger $messenger) { |
|
21 | +MessengerFactory::child($loop, ArgvEncoder::decode($arguments))->done(function(Messenger $messenger) use ($loop) { |
|
22 | + $messenger->registerRpc('hello', function(Payload $payload, Messenger $messenger) { |
|
23 | 23 | \sleep(1); |
24 | 24 | |
25 | 25 | return \React\Promise\resolve([ |
@@ -11,15 +11,15 @@ |
||
11 | 11 | |
12 | 12 | $loop = Factory::create(); |
13 | 13 | |
14 | -MessengerFactory::parent(new Process('exec php ' . __DIR__ . DIRECTORY_SEPARATOR . 'child.php foo bar'), $loop)->then(function (Messenger $messenger) { |
|
14 | +MessengerFactory::parent(new Process('exec php ' . __DIR__ . DIRECTORY_SEPARATOR . 'child.php foo bar'), $loop)->then(function(Messenger $messenger) { |
|
15 | 15 | return $messenger->rpc( |
16 | 16 | MessageFactory::rpc('hello') |
17 | - )->always(function () use ($messenger) { |
|
17 | + )->always(function() use ($messenger) { |
|
18 | 18 | $messenger->softTerminate(); |
19 | 19 | }); |
20 | -})->done(function (Payload $result) { |
|
20 | +})->done(function(Payload $result) { |
|
21 | 21 | \var_export($result); |
22 | -}, function ($et) { |
|
22 | +}, function($et) { |
|
23 | 23 | echo (string)$et; |
24 | 24 | }); |
25 | 25 |
@@ -11,16 +11,16 @@ |
||
11 | 11 | |
12 | 12 | $loop = EventLoopFactory::create(); |
13 | 13 | |
14 | -MessengerFactory::parentFromClass(\WyriHaximus\React\ChildProcess\Messenger\ReturnChild::class, $loop)->done(function (Messenger $messenger) use ($loop) { |
|
15 | - $messenger->on('message', function ($message) { |
|
14 | +MessengerFactory::parentFromClass(\WyriHaximus\React\ChildProcess\Messenger\ReturnChild::class, $loop)->done(function(Messenger $messenger) use ($loop) { |
|
15 | + $messenger->on('message', function($message) { |
|
16 | 16 | echo 'Message: ', \var_export($message, true), PHP_EOL; |
17 | 17 | }); |
18 | - $messenger->on('error', function ($e) { |
|
18 | + $messenger->on('error', function($e) { |
|
19 | 19 | echo 'Error: ', \var_export($e, true), PHP_EOL; |
20 | 20 | }); |
21 | 21 | |
22 | 22 | $i = 0; |
23 | - $loop->addPeriodicTimer(1, function (TimerInterface $timer) use (&$i, $messenger, $loop) { |
|
23 | + $loop->addPeriodicTimer(1, function(TimerInterface $timer) use (&$i, $messenger, $loop) { |
|
24 | 24 | echo 'tick', PHP_EOL; |
25 | 25 | if ($i >= 13) { |
26 | 26 | $loop->cancelTimer($timer); |