/** * Create Registration from RegisterMessage * * @param \Thruway\Session $session * @param \Thruway\Message\RegisterMessage $msg * @return \Thruway\Registration */ public static function createRegistrationFromRegisterMessage(Session $session, RegisterMessage $msg) { $registration = new Registration($session, $msg->getProcedureName()); $options = $msg->getOptions(); if (isset($options->disclose_caller) && $options->disclose_caller === true) { $registration->setDiscloseCaller(true); } if (isset($options->invoke)) { $registration->setInvokeType($options->invoke); } else { if (isset($options->thruway_multiregister) && $options->thruway_multiregister === true) { $registration->setInvokeType(Registration::THRUWAY_REGISTRATION); } else { $registration->setInvokeType(Registration::SINGLE_REGISTRATION); } } return $registration; }
public function completeRegistration(Session $session, RegisterMessage $msg) { $registration = new Registration($session, $msg->getProcedureName()); $options = (array) $msg->getOptions(); if (isset($options['discloseCaller']) && $options['discloseCaller'] === true) { $registration->setDiscloseCaller(true); } $this->registrations->attach($registration); $this->manager->debug('Registered: ' . $registration->getProcedureName()); $session->sendMessage(new RegisteredMessage($msg->getRequestId(), $registration->getId())); }
/** * Create Registration from RegisterMessage * * @param \Thruway\Session $session * @param \Thruway\Message\RegisterMessage $msg * @return \Thruway\Registration */ public static function createRegistrationFromRegisterMessage(Session $session, RegisterMessage $msg) { $registration = new Registration($session, $msg->getProcedureName()); $options = $msg->getOptions(); if (isset($options->disclose_caller) && $options->disclose_caller === true) { $registration->setDiscloseCaller(true); } if (isset($options->thruway_multiregister) && $options->thruway_multiregister === true) { $registration->setAllowMultipleRegistrations(true); } return $registration; }