    # File lib/amqp/queue.rb, line 283
        def bind(exchange, opts = {}, &block)
          if self.server_named?
            @channel.once_open do
              @declaration_deferrable.callback do
                super(exchange, (opts[:key] || opts[:routing_key] || AMQ::Protocol::EMPTY_STRING), (opts[:nowait] || block.nil?), opts[:arguments], &block)
              end
            end
          else
            @channel.once_open do
              super(exchange, (opts[:key] || opts[:routing_key] || AMQ::Protocol::EMPTY_STRING), (opts[:nowait] || block.nil?), opts[:arguments], &block)
            end
          end

          self
        end