// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module mojo_base.mojom;
// Corresponds to |base::ThreadType|
enum ThreadType {
// Suitable for threads that have the least urgency and lowest priority, and
// can be interrupted or delayed by other types.
kBackground,
// Suitable for threads that are less important than normal type, and can be
// interrupted or delayed by threads with kDefault type.
kUtility,
// Suitable for threads that produce user-visible artifacts but aren't
// latency sensitive. The underlying platform will try to be economic
// in its usage of resources for this thread, if possible.
kResourceEfficient,
// Default type. The thread priority or quality of service will be set to
// platform default. In Chrome, this is suitable for handling user
// interactions (input), only display and audio can get a higher priority.
kDefault,
// Suitable for display critical threads.
kDisplayCritical,
// Suitable for low-latency, glitch-resistant audio.
kRealtimeAudio,
};