public function callFailure() { $deferred = new \React\Promise\Deferred(); //$deferred->reject("Call has failed :("); $this->getLoop()->addTimer(0, function () use($deferred) { $deferred->reject("Call has failed :("); }); return $deferred->promise(); }
public function callPublish($args) { $deferred = new \React\Promise\Deferred(); $this->getPublisher()->publish($this->session, "com.example.publish", [$args[0]], ["key1" => "test1", "key2" => "test2"], ["acknowledge" => true])->then(function () use($deferred) { $deferred->resolve('ok'); }, function ($error) use($deferred) { $deferred->reject("failed: {$error}"); }); return $deferred->promise(); }
$client = new \Rx\Websocket\Client($reportUrl); $client->subscribe(new \Rx\Observer\CallbackObserver()); }; $runIndividualTest = function ($case) { echo "Running " . $case . "\n"; $casePath = "/runCase?case={$case}&agent=" . AGENT; $client = new \Rx\Websocket\Client("ws://127.0.0.1:9001" . $casePath, true); $deferred = new \React\Promise\Deferred(); $client->subscribe(new \Rx\Observer\CallbackObserver(function (\Rx\Websocket\MessageSubject $messages) { $messages->subscribe(new \Rx\Observer\CallbackObserver(function ($x) use($messages) { //echo $x . "\n"; $messages->onNext($x); }, [$messages, "onError"], [$messages, "onCompleted"])); }, function ($error) use($case, $deferred) { echo "Error on " . $case . "\n"; $deferred->reject($error); }, function () use($case, $deferred) { echo "Finished " . $case . "\n"; $deferred->resolve(); })); return $deferred->promise(); }; $runTests = function ($testCount) use($runIndividualTest, $runReports) { echo "Server would like us to run " . $testCount . " tests.\n"; $i = 0; $deferred = new \React\Promise\Deferred(); $runNextCase = function () use(&$i, &$runNextCase, $testCount, $deferred, $runIndividualTest) { $i++; if ($i > $testCount) { $deferred->resolve(); return;