def nack(delivery_tag, multiple = false, requeue = false)
      if multiple
        @acknowledged_state[:pending].keys.each do |key|
          nack(key, false, requeue) if key <= delivery_tag
        end
      elsif @acknowledged_state[:pending].key?(delivery_tag)
        delivery, header, body = update_acknowledgement_state(delivery_tag, :nacked)
        delivery.queue.publish(body, header.to_hash) if requeue
      end
      nil
    end
def nack(delivery_tag, multiple = false, requeue = false)
      if multiple
        @acknowledged_state[:pending].keys.each do |key|
          nack(key, false, requeue) if key <= delivery_tag
        end
      elsif @acknowledged_state[:pending].key?(delivery_tag)
        delivery, header, body = update_acknowledgement_state(delivery_tag, :nacked)
        delivery.queue.publish(body, header.to_hash) if requeue
      end
      nil
    end
Unacknowledge message.

 @param [Integer] delivery_tag Delivery tag to acknowledge
 @param [Boolean] multiple (false) Should all unacknowledged messages up to this be rejected as well?
 @param [Boolean] requeue  (false) Should this message be requeued instead of dropping it?

 @return nil
 @api public