public function publishState(Subscription $subscription)
    {
        //Pause all non-state building event messages
        $subscription->pauseForState();

        $sessionId = $subscription->getSession()->getSessionId();

        $this->clientSession->call($this->getProcedureName(),
            [$subscription->getUri(), $sessionId, $subscription->getOptions(), $subscription->getSession()->getAuthenticationDetails()])->then(
            function ($res) use ($subscription) {
                $pubId = null;
                if (isset($res[0])) {
                    $pubId = $res[0];
                }
                $subscription->unPauseForState($pubId);
            },
            function ($error) use ($subscription) {
                Logger::error($this, "Could not call '{$this->getProcedureName()}'");
                $subscription->unPauseForState();
            }
        );

    }
public function publishState(Subscription $subscription)
    {
        //Pause all non-state building event messages
        $subscription->pauseForState();

        $sessionId = $subscription->getSession()->getSessionId();

        $this->clientSession->call($this->getProcedureName(),
            [$subscription->getUri(), $sessionId, $subscription->getOptions(), $subscription->getSession()->getAuthenticationDetails()])->then(
            function ($res) use ($subscription) {
                $pubId = null;
                if (isset($res[0])) {
                    $pubId = $res[0];
                }
                $subscription->unPauseForState($pubId);
            },
            function ($error) use ($subscription) {
                Logger::error($this, "Could not call '{$this->getProcedureName()}'");
                $subscription->unPauseForState();
            }
        );

    }
public function publishState ( Subscription $ subscription ) { //Pause all non-state building event messages $ subscription -> pauseForState ( ) ; $ sessionId = $ subscription -> getSession ( ) -> getSessionId ( ) ; $ this -> clientSession -> call ( $ this -> getProcedureName ( ) , [ $ subscription -> getUri ( ) , $ sessionId , $ subscription -> getOptions ( ) , $ subscription -> getSession ( ) -> getAuthenticationDetails ( ) ] ) -> then ( function ( $ res ) use ( $ subscription ) { $ pubId = null ; if ( isset ( $ res [ 0 ] ) ) { $ pubId = $ res [ 0 ] ; } $ subscription -> unPauseForState ( $ pubId ) ; } , function ( $ error ) use ( $ subscription ) { Logger :: error ( $ this , "Could not call '{$this->getProcedureName()}'" ) ; $ subscription -> unPauseForState ( ) ; } ) ; }
Gets and published the topics state to this subscription

@param Subscription $subscription
@return mixed
Gets and published the topics state to this subscription