Thruway\Role\Publisher::publish PHP Метод

publish() публичный Метод

process publish
public publish ( ClientSession $session, string $topicName, mixed $arguments, mixed $argumentsKw, mixed $options ) : Promise
$session Thruway\ClientSession
$topicName string
$arguments mixed
$argumentsKw mixed
$options mixed
Результат React\Promise\Promise
    public function publish(ClientSession $session, $topicName, $arguments, $argumentsKw, $options)
    {
        $options = (object) $options;
        $requestId = Utils::getUniqueId();
        if (isset($options->acknowledge) && $options->acknowledge === true) {
            $futureResult = new Deferred();
            $this->publishRequests[$requestId] = ['future_result' => $futureResult];
        }
        $publishMsg = new PublishMessage($requestId, $options, $topicName, $arguments, $argumentsKw);
        $session->sendMessage($publishMsg);
        return isset($futureResult) ? $futureResult->promise() : false;
    }