Thruway\Transport\RatchetTransport::ping PHP Méthode

ping() public méthode

Ping
public ping ( integer $timeout = 10 ) : Promise
$timeout integer
Résultat React\Promise\Promise
    public function ping($timeout = 10)
    {
        $payload = $this->pingSeq;
        $this->conn->send(new Frame($payload, true, Frame::OP_PING));
        $seq = $this->pingSeq;
        $this->pingSeq++;
        if ($timeout > 0) {
            $timer = $this->loop->addTimer($timeout, function () use($seq) {
                if (isset($this->pingRequests[$seq])) {
                    $this->pingRequests[$seq]['deferred']->reject('timeout');
                    unset($this->pingRequests[$seq]);
                }
            });
            $deferred = new Deferred();
            $this->pingRequests[$seq] = ['seq' => $seq, 'deferred' => $deferred, 'timer' => $timer];
            return $deferred->promise();
        }
    }