# File lib/amq/client/async/queue.rb, line 324
        def purge(nowait = false, &block)
          nowait = true unless block
          @connection.send_frame(Protocol::Queue::Purge.encode(@channel.id, @name, nowait))

          if !nowait
            self.redefine_callback(:purge, &block)
            # TODO: handle channel & connection-level exceptions
            @channel.queues_awaiting_purge_ok.push(self)
          end

          self
        end