PhpAmqpLib/Connection/AbstractConnection.php
protected function connect()
    {
        try {
            // Loop until we connect
            while (!$this->isConnected()) {
                // Assume we will connect, until we dont
                $this->setIsConnected(true);

                // Connect the socket
                $this->io->connect();

                $this->channels = array();
                // The connection object itself is treated as channel 0
                parent::__construct($this, 0);

                $this->input = new AMQPReader(null, $this->io);

                $this->write($this->amqp_protocol_header);
                $this->wait(array($this->waitHelper->get_wait('connection.start')),false,$this->connection_timeout);
                $this->x_start_ok(
                    $this->getLibraryProperties(),
                    $this->login_method,
                    $this->login_response,
                    $this->locale
                );

                $this->wait_tune_ok = true;
                while ($this->wait_tune_ok) {
                    $this->wait(array(
                        $this->waitHelper->get_wait('connection.secure'),
                        $this->waitHelper->get_wait('connection.tune')
                    ));
                }

                $host = $this->x_open($this->vhost, '', $this->insist);
                if (!$host) {
                    //Reconnected
                    $this->io->reenableHeartbeat();
                    return null; // we weren't redirected
                }

                $this->setIsConnected(false);
                $this->closeChannels();

                // we were redirected, close the socket, loop and try again
                $this->close_socket();
            }

        } catch (\Exception $e) {
            // Something went wrong, set the connection status
            $this->setIsConnected(false);
            $this->closeChannels();
            $this->close_input();
            $this->close_socket();
            throw $e; // Rethrow exception
        }
    }
protected function connect()
    {
        try {
            // Loop until we connect
            while (!$this->isConnected()) {
                // Assume we will connect, until we dont
                $this->setIsConnected(true);

                // Connect the socket
                $this->io->connect();

                $this->channels = array();
                // The connection object itself is treated as channel 0
                parent::__construct($this, 0);

                $this->input = new AMQPReader(null, $this->io);

                $this->write($this->amqp_protocol_header);
                $this->wait(array($this->waitHelper->get_wait('connection.start')),false,$this->connection_timeout);
                $this->x_start_ok(
                    $this->getLibraryProperties(),
                    $this->login_method,
                    $this->login_response,
                    $this->locale
                );

                $this->wait_tune_ok = true;
                while ($this->wait_tune_ok) {
                    $this->wait(array(
                        $this->waitHelper->get_wait('connection.secure'),
                        $this->waitHelper->get_wait('connection.tune')
                    ));
                }

                $host = $this->x_open($this->vhost, '', $this->insist);
                if (!$host) {
                    //Reconnected
                    $this->io->reenableHeartbeat();
                    return null; // we weren't redirected
                }

                $this->setIsConnected(false);
                $this->closeChannels();

                // we were redirected, close the socket, loop and try again
                $this->close_socket();
            }

        } catch (\Exception $e) {
            // Something went wrong, set the connection status
            $this->setIsConnected(false);
            $this->closeChannels();
            $this->close_input();
            $this->close_socket();
            throw $e; // Rethrow exception
        }
    }
protected function connect ( ) { try { // Loop until we connect while ( ! $ this -> isConnected ( ) ) { // Assume we will connect, until we dont $ this -> setIsConnected ( true ) ; // Connect the socket $ this -> io -> connect ( ) ; $ this -> channels = array ( ) ; // The connection object itself is treated as channel 0 parent :: __construct ( $ this , 0 ) ; $ this -> input = new AMQPReader ( null , $ this -> io ) ; $ this -> write ( $ this -> amqp_protocol_header ) ; $ this -> wait ( array ( $ this -> waitHelper -> get_wait ( 'connection.start' ) ) , false , $ this -> connection_timeout ) ; $ this -> x_start_ok ( $ this -> getLibraryProperties ( ) , $ this -> login_method , $ this -> login_response , $ this -> locale ) ; $ this -> wait_tune_ok = true ; while ( $ this -> wait_tune_ok ) { $ this -> wait ( array ( $ this -> waitHelper -> get_wait ( 'connection.secure' ) , $ this -> waitHelper -> get_wait ( 'connection.tune' ) ) ) ; } $ host = $ this -> x_open ( $ this -> vhost , '' , $ this -> insist ) ; if ( ! $ host ) { //Reconnected $ this -> io -> reenableHeartbeat ( ) ; return null ; // we weren't redirected } $ this -> setIsConnected ( false ) ; $ this -> closeChannels ( ) ; // we were redirected, close the socket, loop and try again $ this -> close_socket ( ) ; } } catch ( \ Exception $ e ) { // Something went wrong, set the connection status $ this -> setIsConnected ( false ) ; $ this -> closeChannels ( ) ; $ this -> close_input ( ) ; $ this -> close_socket ( ) ; throw $ e ; // Rethrow exception } }
Connects to the AMQP server
Connects to the AMQP server