public function leave(Session $session)
    {
        /* @var $procedure \Thruway\Procedure */
        foreach ($this->procedures as $procedure) {
            $procedure->leave($session);
        }

        foreach ($this->callInvocationIndex as $call) {
            if ($session->getSessionId() === $call->getCallerSession()->getSessionId()) {
                $cancelMsg = new CancelMessage($call->getCallMessage()->getRequestId(), (object)[]);
                $this->processCancel($session, $cancelMsg);
            }
        }

        // remove the list of registrations
        if ($this->registrationsBySession->contains($session)) {
            $this->registrationsBySession->detach($session);
        }
    }
public function leave(Session $session)
    {
        /* @var $procedure \Thruway\Procedure */
        foreach ($this->procedures as $procedure) {
            $procedure->leave($session);
        }

        foreach ($this->callInvocationIndex as $call) {
            if ($session->getSessionId() === $call->getCallerSession()->getSessionId()) {
                $cancelMsg = new CancelMessage($call->getCallMessage()->getRequestId(), (object)[]);
                $this->processCancel($session, $cancelMsg);
            }
        }

        // remove the list of registrations
        if ($this->registrationsBySession->contains($session)) {
            $this->registrationsBySession->detach($session);
        }
    }
public function leave ( Session $ session ) { /* @var $procedure \Thruway\Procedure */ foreach ( $ this -> procedures as $ procedure ) { $ procedure -> leave ( $ session ) ; } foreach ( $ this -> callInvocationIndex as $ call ) { if ( $ session -> getSessionId ( ) === $ call -> getCallerSession ( ) -> getSessionId ( ) ) { $ cancelMsg = new CancelMessage ( $ call -> getCallMessage ( ) -> getRequestId ( ) , ( object ) [ ] ) ; $ this -> processCancel ( $ session , $ cancelMsg ) ; } } // remove the list of registrations if ( $ this -> registrationsBySession -> contains ( $ session ) ) { $ this -> registrationsBySession -> detach ( $ session ) ; } }
process leave session

@param \Thruway\Session $session
process leave session