private function getContext(InvokeSettings $settings) { $context = new stdClass(); $context->client = $this; $context->userdata = isset($settings->userdata) ? (object) $settings->userdata : new stdClass(); $context->mode = isset($settings->mode) ? $settings->mode : ResultMode::Normal; $context->oneway = isset($settings->oneway) ? $settings->oneway : false; $context->byref = isset($settings->byref) ? $settings->byref : $this->byref; $context->simple = isset($settings->simple) ? $settings->simple : $this->simple; $context->failswitch = isset($settings->failswitch) ? $settings->failswitch : $this->failswitch; $context->idempotent = isset($settings->idempotent) ? $settings->idempotent : $this->idempotent; $context->retry = isset($settings->retry) ? $settings->retry : $this->retry; $context->retried = 0; $context->timeout = isset($settings->timeout) ? $settings->timeout : $this->timeout; return $context; }