Exemple #1
0
 /**
  * Process Unregistered
  *
  * @param \Thruway\Message\UnregisteredMessage $msg
  */
 protected function processUnregistered(UnregisteredMessage $msg)
 {
     foreach ($this->registrations as $key => $registration) {
         if (isset($registration['unregister_request_id'])) {
             if ($registration["unregister_request_id"] == $msg->getRequestId()) {
                 /** @var $deferred \React\Promise\Deferred */
                 $deferred = $registration['unregister_deferred'];
                 $deferred->resolve();
                 unset($this->registrations[$key]);
                 return;
             }
         }
     }
     Logger::error($this, "Got an Unregistered Message, but couldn't find corresponding request");
 }
Exemple #2
0
 /**
  * process unregister
  *
  * @param \Thruway\Session $session
  * @param \Thruway\Message\UnregisterMessage $msg
  * @return bool
  */
 public function processUnregister(Session $session, UnregisterMessage $msg)
 {
     for ($i = 0; $i < count($this->registrations); $i++) {
         /** @var Registration $registration */
         $registration = $this->registrations[$i];
         if ($registration->getId() == $msg->getRegistrationId()) {
             // make sure the session is the correct session
             if ($registration->getSession() !== $session) {
                 $session->sendMessage(ErrorMessage::createErrorMessageFromMessage($msg, "wamp.error.no_such_registration"));
                 //$this->manager->warning("Tried to unregister a procedure that belongs to a different session.");
                 return false;
             }
             array_splice($this->registrations, $i, 1);
             // TODO: need to handle any calls that are hanging around
             $session->sendMessage(UnregisteredMessage::createFromUnregisterMessage($msg));
             return true;
         }
     }
     $session->sendMessage(ErrorMessage::createErrorMessageFromMessage($msg, 'wamp.error.no_such_registration'));
     return false;
 }
Exemple #3
0
 /**
  * @param ClientSession $session
  * @param UnregisteredMessage $msg
  */
 public function processUnregistered(ClientSession $session, UnregisteredMessage $msg)
 {
     foreach ($this->registrations as $key => $registration) {
         if (isset($registration['unregister_request_id'])) {
             if ($registration["unregister_request_id"] == $msg->getRequestId()) {
                 /** @var Deferred $deferred */
                 $deferred = $registration['unregister_deferred'];
                 $deferred->resolve();
                 unset($this->registrations[$key]);
                 return;
             }
         }
     }
     $this->logger->error("---Got an Unregistered Message, but couldn't find corresponding request.\n");
 }