/* * Copyright 2019 The WebRTC Project Authors. All rights reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree.
*/
enumclass ResourceUsageState { // Action is needed to minimze the load on this resource.
kOveruse, // Increasing the load on this resource is desired, if possible.
kUnderuse,
};
// A Resource monitors an implementation-specific resource. It may report // kOveruse or kUnderuse when resource usage is high or low enough that we // should perform some sort of mitigation to fulfil the resource's constraints. // // The methods on this interface are invoked on the adaptation task queue. // Resource usage measurements may be performed on an any task queue. // // The Resource is reference counted to prevent use-after-free when posting // between task queues. As such, the implementation MUST NOT make any // assumptions about which task queue Resource is destructed on. class RTC_EXPORT Resource : public RefCountInterface { public:
Resource(); // Destruction may happen on any task queue.
~Resource() override;
virtual std::string Name() const = 0; // The `listener` may be informed of resource usage measurements on any task // queue, but not after this method is invoked with the null argument. virtualvoid SetResourceListener(ResourceListener* listener) = 0;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.