protected function processResult(ResultMessage $msg)
{
if (isset($this->callRequests[$msg->getRequestId()])) {
/* @var $futureResult Deferred */
$futureResult = $this->callRequests[$msg->getRequestId()]['future_result'];
$callResult = new CallResult($msg);
$details = $msg->getDetails();
if (is_object($details) && isset($details->progress) && $details->progress) {
// TODO: what if we didn't want progress?
$futureResult->progress($callResult);
} else {
$futureResult->resolve($callResult);
unset($this->callRequests[$msg->getRequestId()]);
}
}
}