# File lib/amq/client/async/queue.rb, line 131
        def redeclare(&block)
          nowait = true if !block && !@name.empty?

          # server-named queues get their new generated names.
          new_name = if @server_named
                       AMQ::Protocol::EMPTY_STRING
                     else
                       @name
                     end
          @connection.send_frame(Protocol::Queue::Declare.encode(@channel.id, new_name, @passive, @durable, @exclusive, @auto_delete, false, @arguments))

          if !nowait
            self.append_callback(:declare, &block)
            @channel.queues_awaiting_declare_ok.push(self)
          end

          self
        end