/** * Demande au serveur de mise à jour de récupérer les dernières infos des topics * suivis. */ private function delegateTopicsUpdate() { $this->logger->ln("Delegation de la mise a jour des topics...", 2); $message = SocketMessage::fromData('getTopicUpdates', SocketMessage::compress(serialize($this->topics))); $this->updateServerConnection->send($message->toJson()); $this->logger->ln("envoye : " . print_r(unserialize(serialize($this->topics)), true), 3); }
/** * Récupère la mises à jour des topics et les communique au serveur principal */ private function getTopicUpdates($serializedTopics) { $topics = unserialize(SocketMessage::uncompress($serializedTopics)); $this->logger->ln('Mise a jour de ' . count($topics) . ' topics...', 2); //On reset les topics $this->curlm->clearTopics(); foreach ($topics as $topic) { $this->logger->ln("Topic '{$topic->getId()}' marque pour mise a jour", 3); $this->curlm->addTopic($topic); } //Récupération des infos des topics $topics = $this->curlm->getUpdatedTopics(); //On envoie les infos au serveur principal $updateMessage = SocketMessage::fromData("topicsUpdate", SocketMessage::compress(serialize($topics))); $this->mainServerConnection->send($updateMessage->toJson()); }