public static createSubscriptionFromSubscribeMessage ( |
||
$session | ||
$msg | Thruway\Message\SubscribeMessage | |
return |
public static function createSubscriptionFromSubscribeMessage(Session $session, SubscribeMessage $msg)
{
$options = $msg->getOptions();
$subscription = new Subscription($msg->getTopicName(), $session, $options);
if (isset($options->disclose_publisher) && $options->disclose_publisher === true) {
$subscription->setDisclosePublisher(true);
}
return $subscription;
}
/** * @param Session $session * @param SubscribeMessage $msg * @return Subscription */ public function processSubscribe(Session $session, SubscribeMessage $msg) { $subscription = Subscription::createSubscriptionFromSubscribeMessage($session, $msg); $this->addSubscription($subscription); $subscription->setSubscriptionGroup($this); Logger::debug($this, "Added subscription to \"" . $this->getMatchType() . "\":\"" . $this->getUri() . "\""); $session->sendMessage(new SubscribedMessage($msg->getRequestId(), $subscription->getId())); return $subscription; }