original_string: public function channel($bind = []): Observable
      {
          $this->bunny = $this->bunny ?? new BaseAsynchClient($this->loop, $this->configuration);
  
          if (!\is_array($bind)) {
              $bind = \func_get_args();
          }
  
          return Observable::fromPromise(
              $this->bunny
                  ->connect()
                  ->then(function (BaseAsynchClient $client) {
                      return $client->channel();
                  })
                  ->then(function (Channel $channel) use ($bind) {
                      foreach ($bind as $obj) {
                          $obj->setChannel($channel);
                      }
  
                      return $channel;
                  })
          );
      }
code: public function channel($bind = []): Observable
      {
          $this->bunny = $this->bunny ?? new BaseAsynchClient($this->loop, $this->configuration);
  
          if (!\is_array($bind)) {
              $bind = \func_get_args();
          }
  
          return Observable::fromPromise(
              $this->bunny
                  ->connect()
                  ->then(function (BaseAsynchClient $client) {
                      return $client->channel();
                  })
                  ->then(function (Channel $channel) use ($bind) {
                      foreach ($bind as $obj) {
                          $obj->setChannel($channel);
                      }
  
                      return $channel;
                  })
          );
      }
code_tokens: public function channel ( $ bind = [ ] ) : Observable { $ this -> bunny = $ this -> bunny ?? new BaseAsynchClient ( $ this -> loop , $ this -> configuration ) ; if ( ! \ is_array ( $ bind ) ) { $ bind = \ func_get_args ( ) ; } return Observable :: fromPromise ( $ this -> bunny -> connect ( ) -> then ( function ( BaseAsynchClient $ client ) { return $ client -> channel ( ) ; } ) -> then ( function ( Channel $ channel ) use ( $ bind ) { foreach ( $ bind as $ obj ) { $ obj -> setChannel ( $ channel ) ; } return $ channel ; } ) ) ; }
docstring: Open a new channel and attribute it to given queues or exchanges.
  
  @param Queue[]|Exchange[] $bind
docstring_tokens: Open a new channel and attribute it to given queues or exchanges .