# File lib/amq/client/async/exchange.rb, line 116
        def redeclare(&block)
          nowait = block.nil?
          @connection.send_frame(Protocol::Exchange::Declare.encode(@channel.id, @name, @type.to_s, @passive, @durable, @auto_delete, false, nowait, @arguments))

          unless nowait
            self.define_callback(:declare, &block)
            @channel.exchanges_awaiting_declare_ok.push(self)
          end

          self
        end