src/danog/MadelineProto/MTProto.php
public function connect_to_all_dcs_async(): \Generator
    {
        $this->datacenter->__construct($this, $this->settings['connection'], $this->settings['connection_settings']);
        $dcs = [];
        foreach ($this->datacenter->get_dcs() as $new_dc) {
            $dcs[] = $this->datacenter->dc_connect_async($new_dc);
        }
        yield $dcs;
        yield $this->init_authorization_async();
        $dcs = [];
        foreach ($this->datacenter->get_dcs(false) as $new_dc) {
            $dcs[] = $this->datacenter->dc_connect_async($new_dc);
        }
        yield $dcs;
        yield $this->init_authorization_async();
        if (!$this->phoneConfigWatcherId) {
            $this->phoneConfigWatcherId = Loop::repeat(24 * 3600 * 1000, [$this, 'get_phone_config_async']);
        }

        yield $this->get_phone_config_async();
        $this->logger->logger("Started phone config fetcher");
    }
public function connect_to_all_dcs_async(): \Generator
    {
        $this->datacenter->__construct($this, $this->settings['connection'], $this->settings['connection_settings']);
        $dcs = [];
        foreach ($this->datacenter->get_dcs() as $new_dc) {
            $dcs[] = $this->datacenter->dc_connect_async($new_dc);
        }
        yield $dcs;
        yield $this->init_authorization_async();
        $dcs = [];
        foreach ($this->datacenter->get_dcs(false) as $new_dc) {
            $dcs[] = $this->datacenter->dc_connect_async($new_dc);
        }
        yield $dcs;
        yield $this->init_authorization_async();
        if (!$this->phoneConfigWatcherId) {
            $this->phoneConfigWatcherId = Loop::repeat(24 * 3600 * 1000, [$this, 'get_phone_config_async']);
        }

        yield $this->get_phone_config_async();
        $this->logger->logger("Started phone config fetcher");
    }
public function connect_to_all_dcs_async ( ) : \ Generator { $ this -> datacenter -> __construct ( $ this , $ this -> settings [ 'connection' ] , $ this -> settings [ 'connection_settings' ] ) ; $ dcs = [ ] ; foreach ( $ this -> datacenter -> get_dcs ( ) as $ new_dc ) { $ dcs [ ] = $ this -> datacenter -> dc_connect_async ( $ new_dc ) ; } yield $ dcs ; yield $ this -> init_authorization_async ( ) ; $ dcs = [ ] ; foreach ( $ this -> datacenter -> get_dcs ( false ) as $ new_dc ) { $ dcs [ ] = $ this -> datacenter -> dc_connect_async ( $ new_dc ) ; } yield $ dcs ; yield $ this -> init_authorization_async ( ) ; if ( ! $ this -> phoneConfigWatcherId ) { $ this -> phoneConfigWatcherId = Loop :: repeat ( 24 * 3600 * 1000 , [ $ this , 'get_phone_config_async' ] ) ; } yield $ this -> get_phone_config_async ( ) ; $ this -> logger -> logger ( "Started phone config fetcher" ) ; }
Connects to all datacenters and if necessary creates authorization keys, binds them and writes client info
Connects to all datacenters and if necessary creates authorization keys binds them and writes client info