blob: f2570877387dae9a93e857372205ac21cae7b5a2 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "platform/scheduler/base/enqueue_order.h"
namespace blink {
namespace scheduler {
namespace internal {
// Note we set the first |enqueue_order_| to a specific non-zero value, because
// first N values of EnqueueOrder have special meaning (see EnqueueOrderValues).
EnqueueOrderGenerator::EnqueueOrderGenerator()
: enqueue_order_(static_cast<EnqueueOrder>(EnqueueOrderValues::kFirst)) {}
EnqueueOrderGenerator::~EnqueueOrderGenerator() {}
EnqueueOrder EnqueueOrderGenerator::GenerateNext() {
base::AutoLock lock(lock_);
return enqueue_order_++;
}
} // namespace internal
} // namespace scheduler
} // namespace blink