Thruway\Role\Broker::leave PHP Method

leave() public method

public leave ( Session $session )
$session Thruway\Session
    public function leave(Session $session)
    {
        /** @var SubscriptionGroup $subscriptionGroup */
        foreach ($this->subscriptionGroups as $key => $subscriptionGroup) {
            /** @var Subscription $subscription */
            foreach ($subscriptionGroup->getSubscriptions() as $subscription) {
                if ($subscription->getSession() === $session) {
                    $subscriptionGroup->removeSubscription($subscription);
                }
                $subscriptions = $subscriptionGroup->getSubscriptions();
                if (empty($subscriptions)) {
                    unset($this->subscriptionGroups[$key]);
                }
            }
        }
    }