Thruway\Subscription\SubscriptionGroup::sendEventMessage PHP Метод

sendEventMessage() приватный Метод

Send an Event Message for each subscription
private sendEventMessage ( Session $session, Thruway\Message\PublishMessage $msg, Subscription $subscription )
$session Thruway\Session
$msg Thruway\Message\PublishMessage
$subscription Subscription
    private function sendEventMessage(Session $session, PublishMessage $msg, Subscription $subscription)
    {
        $sessionId = $subscription->getSession()->getSessionId();
        $authroles = [];
        $authid = "";
        $authenticationDetails = $subscription->getSession()->getAuthenticationDetails();
        if ($authenticationDetails) {
            $authroles = $authenticationDetails->getAuthRoles();
            $authid = $authenticationDetails->getAuthId();
        }
        if ((!$msg->excludeMe() || $subscription->getSession() != $session) && !$msg->isExcluded($sessionId) && $msg->isWhiteListed($sessionId) && $msg->hasEligibleAuthrole($authroles) && $msg->hasEligibleAuthid($authid)) {
            $eventMsg = EventMessage::createFromPublishMessage($msg, $subscription->getId());
            if ($subscription->isDisclosePublisher() === true) {
                $eventMsg->disclosePublisher($session);
            }
            if ($this->getMatchType() != "exact") {
                $eventMsg->getDetails()->topic = $msg->getUri();
            }
            $subscription->sendEventMessage($eventMsg);
        }
    }