/** * @param string $function * @param array $args * @param int $errorResultCode * @return \React\Promise\PromiseInterface */ public function invokeCall($function, $args, $errorResultCode = -1) { $this->callQueueActive = true; $deferred = new Deferred(); $this->callQueue->enqueue(new QueuedCall($deferred, $function, $args, $errorResultCode)); if (!$this->callQueue->isEmpty() && $this->runningOperations < $this->maxSimultaneousOperations) { $this->processQueue(); } return $deferred->promise()->then(function ($data) { return $this->adapter->callFilesystem($data['function'], $data['args'], $data['errorResultCode'])->then($this->filesystemResultHandler('React\\Promise\\resolve'), $this->filesystemResultHandler('React\\Promise\\reject')); }); }
/** * @param string $function * @param array $args * @param int $errorResultCode * @return \React\Promise\PromiseInterface */ public function invokeCall($function, $args, $errorResultCode = -1) { return $this->adapter->callFilesystem($function, $args, $errorResultCode); }