private function asyncInvokeHandler($name, array &$args, stdClass $context)
{
try {
$request = $this->encode($name, $args, $context);
} catch (Exception $e) {
return Future\error($e);
} catch (Throwable $e) {
return Future\error($e);
}
$self = $this;
$beforeFilterHandler = $this->beforeFilterHandler;
return $beforeFilterHandler($request, $context)->then(function ($response) use($self, &$args, $context) {
return $self->decode($response, $args, $context);
});
}