mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-17 23:57:59 +01:00

ResourceListener::OnResourceUsageStateMeasured() now takes ResourceUsageState as argument, making Resource::UsageState() superfluous. With the existing "fire-and-forget" behavior of always clearing usage state on reacting to a signal, there is no longer a need to call ClearUsageState() so this too is removed. (We may want to have a callback in the future to hint to the Resource that it is a good idea to clear internal measurement samples, i.e. because the load of the system is about to change, but we can revisit that when we need it.) Moving the usage state to the callback has the benefit of getting rid of the assumption that UsageState() has to return the same value every time it is called in the same task. This CL is also the final nail in the coffin for Resource needing to know about the adaptation task queue: ResourceAdaptationProcessor's ResourceListener now takes care of posting to the adaptation task queue. To support this, the processor's SequenceChecker is replaced by a TaskQueueBase pointer. Bug: webrtc:11525, webrtc:11618 Change-Id: I2277e71cc3759c85b62465020935603f03792c94 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/176376 Commit-Queue: Henrik Boström <hbos@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Evan Shrubsole <eshr@google.com> Cr-Commit-Position: refs/heads/master@{#31416}
44 lines
1.2 KiB
C++
44 lines
1.2 KiB
C++
/*
|
|
* 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.
|
|
*/
|
|
|
|
#include "call/adaptation/test/fake_resource.h"
|
|
|
|
#include <algorithm>
|
|
#include <utility>
|
|
|
|
#include "rtc_base/ref_counted_object.h"
|
|
|
|
namespace webrtc {
|
|
|
|
// static
|
|
rtc::scoped_refptr<FakeResource> FakeResource::Create(std::string name) {
|
|
return new rtc::RefCountedObject<FakeResource>(name);
|
|
}
|
|
|
|
FakeResource::FakeResource(std::string name)
|
|
: Resource(), name_(std::move(name)), listener_(nullptr) {}
|
|
|
|
FakeResource::~FakeResource() {}
|
|
|
|
void FakeResource::SetUsageState(ResourceUsageState usage_state) {
|
|
if (listener_) {
|
|
listener_->OnResourceUsageStateMeasured(this, usage_state);
|
|
}
|
|
}
|
|
|
|
std::string FakeResource::Name() const {
|
|
return name_;
|
|
}
|
|
|
|
void FakeResource::SetResourceListener(ResourceListener* listener) {
|
|
listener_ = listener;
|
|
}
|
|
|
|
} // namespace webrtc
|