Commit 58a2bab7 authored by Abhijeet Kandalkar's avatar Abhijeet Kandalkar Committed by Commit Bot

Convert tracing.mojom to new Mojo types (2/n)

This CL converts interface Coordinator to uses new Mojo types.

Bug: 955171, 978694

Change-Id: Iba377d93282198bccc27d6c071d9697e9d0aa28a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1789216Reviewed-by: default avatarOksana Zhuravlova <oksamyt@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarDave Tapuska <dtapuska@chromium.org>
Commit-Queue: Dave Tapuska <dtapuska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695605}
parent b1d7b652
...@@ -95,14 +95,14 @@ CoordinatorImpl::ComputePidToServiceNamesMap() const { ...@@ -95,14 +95,14 @@ CoordinatorImpl::ComputePidToServiceNamesMap() const {
service_manager::Identity CoordinatorImpl::GetClientIdentityForCurrentRequest() service_manager::Identity CoordinatorImpl::GetClientIdentityForCurrentRequest()
const { const {
return bindings_.dispatch_context(); return receivers_.current_context();
} }
void CoordinatorImpl::BindCoordinatorRequest( void CoordinatorImpl::BindCoordinatorReceiver(
mojom::CoordinatorRequest request, mojo::PendingReceiver<mojom::Coordinator> receiver,
const service_manager::BindSourceInfo& source_info) { const service_manager::BindSourceInfo& source_info) {
DCHECK_CALLED_ON_VALID_THREAD(thread_checker_); DCHECK_CALLED_ON_VALID_THREAD(thread_checker_);
bindings_.AddBinding(this, std::move(request), source_info.identity); receivers_.Add(this, std::move(receiver), source_info.identity);
} }
void CoordinatorImpl::BindHeapProfilerHelperRequest( void CoordinatorImpl::BindHeapProfilerHelperRequest(
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "base/trace_event/memory_dump_request_args.h" #include "base/trace_event/memory_dump_request_args.h"
#include "mojo/public/cpp/bindings/binding.h" #include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/binding_set.h"
#include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/resource_coordinator/memory_instrumentation/process_map.h" #include "services/resource_coordinator/memory_instrumentation/process_map.h"
#include "services/resource_coordinator/memory_instrumentation/queued_request.h" #include "services/resource_coordinator/memory_instrumentation/queued_request.h"
#include "services/resource_coordinator/public/cpp/memory_instrumentation/coordinator.h" #include "services/resource_coordinator/public/cpp/memory_instrumentation/coordinator.h"
...@@ -46,8 +47,8 @@ class CoordinatorImpl : public Coordinator, ...@@ -46,8 +47,8 @@ class CoordinatorImpl : public Coordinator,
CoordinatorImpl(service_manager::Connector* connector); CoordinatorImpl(service_manager::Connector* connector);
// Binds a client library to this coordinator instance. // Binds a client library to this coordinator instance.
void BindCoordinatorRequest( void BindCoordinatorReceiver(
mojom::CoordinatorRequest, mojo::PendingReceiver<mojom::Coordinator>,
const service_manager::BindSourceInfo& source_info) override; const service_manager::BindSourceInfo& source_info) override;
void BindHeapProfilerHelperRequest( void BindHeapProfilerHelperRequest(
...@@ -182,8 +183,8 @@ class CoordinatorImpl : public Coordinator, ...@@ -182,8 +183,8 @@ class CoordinatorImpl : public Coordinator,
in_progress_vm_region_requests_; in_progress_vm_region_requests_;
// There may be extant callbacks in |queued_memory_dump_requests_|. The // There may be extant callbacks in |queued_memory_dump_requests_|. The
// bindings_ must be closed before destroying the un-run callbacks. // receivers_ must be closed before destroying the un-run callbacks.
mojo::BindingSet<mojom::Coordinator, service_manager::Identity> bindings_; mojo::ReceiverSet<mojom::Coordinator, service_manager::Identity> receivers_;
// There may be extant callbacks in |queued_memory_dump_requests_|. The // There may be extant callbacks in |queued_memory_dump_requests_|. The
// bindings_ must be closed before destroying the un-run callbacks. // bindings_ must be closed before destroying the un-run callbacks.
......
...@@ -48,7 +48,7 @@ ClientProcessImpl::ClientProcessImpl(const Config& config) ...@@ -48,7 +48,7 @@ ClientProcessImpl::ClientProcessImpl(const Config& config)
MemoryInstrumentation::CreateInstance(config.connector, MemoryInstrumentation::CreateInstance(config.connector,
config.service_name); config.service_name);
} else { } else {
config.coordinator_for_testing->BindCoordinatorRequest( config.coordinator_for_testing->BindCoordinatorReceiver(
mojo::MakeRequest(&coordinator_), service_manager::BindSourceInfo()); mojo::MakeRequest(&coordinator_), service_manager::BindSourceInfo());
} }
......
...@@ -15,9 +15,9 @@ namespace memory_instrumentation { ...@@ -15,9 +15,9 @@ namespace memory_instrumentation {
class Coordinator { class Coordinator {
public: public:
// Binds a CoordinatorRequest to this Coordinator instance. // Binds a Coordinator Receiver to this Coordinator instance.
virtual void BindCoordinatorRequest( virtual void BindCoordinatorReceiver(
mojom::CoordinatorRequest, mojo::PendingReceiver<mojom::Coordinator>,
const service_manager::BindSourceInfo& source_info) = 0; const service_manager::BindSourceInfo& source_info) = 0;
}; };
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#include "base/trace_event/trace_config.h" #include "base/trace_event/trace_config.h"
#include "base/trace_event/trace_config_memory_test_util.h" #include "base/trace_event/trace_config_memory_test_util.h"
#include "base/trace_event/trace_log.h" #include "base/trace_event/trace_log.h"
#include "mojo/public/cpp/bindings/binding_set.h" #include "mojo/public/cpp/bindings/receiver_set.h"
#include "services/resource_coordinator/public/cpp/memory_instrumentation/coordinator.h" #include "services/resource_coordinator/public/cpp/memory_instrumentation/coordinator.h"
#include "services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom.h" #include "services/resource_coordinator/public/mojom/memory_instrumentation/memory_instrumentation.mojom.h"
#include "testing/gmock/include/gmock/gmock.h" #include "testing/gmock/include/gmock/gmock.h"
...@@ -101,10 +101,10 @@ class MockCoordinator : public Coordinator, public mojom::Coordinator { ...@@ -101,10 +101,10 @@ class MockCoordinator : public Coordinator, public mojom::Coordinator {
public: public:
MockCoordinator(MemoryTracingIntegrationTest* client) : client_(client) {} MockCoordinator(MemoryTracingIntegrationTest* client) : client_(client) {}
void BindCoordinatorRequest( void BindCoordinatorReceiver(
mojom::CoordinatorRequest request, mojo::PendingReceiver<mojom::Coordinator> receiver,
const service_manager::BindSourceInfo& source_info) override { const service_manager::BindSourceInfo& source_info) override {
bindings_.AddBinding(this, std::move(request)); receivers_.Add(this, std::move(receiver));
} }
void RegisterClientProcess(mojom::ClientProcessPtr, void RegisterClientProcess(mojom::ClientProcessPtr,
...@@ -133,7 +133,7 @@ class MockCoordinator : public Coordinator, public mojom::Coordinator { ...@@ -133,7 +133,7 @@ class MockCoordinator : public Coordinator, public mojom::Coordinator {
RequestGlobalMemoryDumpAndAppendToTraceCallback) override; RequestGlobalMemoryDumpAndAppendToTraceCallback) override;
private: private:
mojo::BindingSet<mojom::Coordinator> bindings_; mojo::ReceiverSet<mojom::Coordinator> receivers_;
MemoryTracingIntegrationTest* client_; MemoryTracingIntegrationTest* client_;
}; };
......
...@@ -31,7 +31,7 @@ void ResourceCoordinatorService::OnStart() { ...@@ -31,7 +31,7 @@ void ResourceCoordinatorService::OnStart() {
std::make_unique<memory_instrumentation::CoordinatorImpl>( std::make_unique<memory_instrumentation::CoordinatorImpl>(
service_binding_.GetConnector()); service_binding_.GetConnector());
registry_.AddInterface(base::BindRepeating( registry_.AddInterface(base::BindRepeating(
&memory_instrumentation::CoordinatorImpl::BindCoordinatorRequest, &memory_instrumentation::CoordinatorImpl::BindCoordinatorReceiver,
base::Unretained(memory_instrumentation_coordinator_.get()))); base::Unretained(memory_instrumentation_coordinator_.get())));
registry_.AddInterface(base::BindRepeating( registry_.AddInterface(base::BindRepeating(
&memory_instrumentation::CoordinatorImpl::BindHeapProfilerHelperRequest, &memory_instrumentation::CoordinatorImpl::BindHeapProfilerHelperRequest,
......
...@@ -278,7 +278,6 @@ Coordinator::Coordinator(AgentRegistry* agent_registry, ...@@ -278,7 +278,6 @@ Coordinator::Coordinator(AgentRegistry* agent_registry,
: task_runner_(base::SequencedTaskRunnerHandle::Get()), : task_runner_(base::SequencedTaskRunnerHandle::Get()),
agent_registry_(agent_registry), agent_registry_(agent_registry),
on_disconnect_callback_(std::move(on_disconnect_callback)), on_disconnect_callback_(std::move(on_disconnect_callback)),
binding_(this),
// USER_VISIBLE because the task posted from StopAndFlushInternal() is // USER_VISIBLE because the task posted from StopAndFlushInternal() is
// required to stop tracing from the UI. // required to stop tracing from the UI.
// TODO(fdoray): Once we have support for dynamic priorities // TODO(fdoray): Once we have support for dynamic priorities
...@@ -295,7 +294,7 @@ Coordinator::~Coordinator() { ...@@ -295,7 +294,7 @@ Coordinator::~Coordinator() {
} }
bool Coordinator::IsConnected() { bool Coordinator::IsConnected() {
return !!binding_; return receiver_.is_bound();
} }
void Coordinator::Reset() { void Coordinator::Reset() {
...@@ -324,14 +323,14 @@ void Coordinator::Reset() { ...@@ -324,14 +323,14 @@ void Coordinator::Reset() {
void Coordinator::OnClientConnectionError() { void Coordinator::OnClientConnectionError() {
Reset(); Reset();
binding_.Close(); receiver_.reset();
on_disconnect_callback_.Run(); on_disconnect_callback_.Run();
} }
void Coordinator::BindCoordinatorRequest( void Coordinator::BindCoordinatorRequest(
mojom::CoordinatorRequest request, mojo::PendingReceiver<mojom::Coordinator> receiver,
const service_manager::BindSourceInfo& source_info) { const service_manager::BindSourceInfo& source_info) {
binding_.Bind(std::move(request)); receiver_.Bind(std::move(receiver));
binding_.set_connection_error_handler(base::BindRepeating( receiver_.set_disconnect_handler(base::BindRepeating(
&Coordinator::OnClientConnectionError, base::Unretained(this))); &Coordinator::OnClientConnectionError, base::Unretained(this)));
} }
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include "base/timer/timer.h" #include "base/timer/timer.h"
#include "base/trace_event/trace_config.h" #include "base/trace_event/trace_config.h"
#include "base/values.h" #include "base/values.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/system/data_pipe.h" #include "mojo/public/cpp/system/data_pipe.h"
#include "services/tracing/agent_registry.h" #include "services/tracing/agent_registry.h"
#include "services/tracing/public/mojom/tracing.mojom.h" #include "services/tracing/public/mojom/tracing.mojom.h"
...@@ -46,7 +47,7 @@ class Coordinator : public mojom::Coordinator { ...@@ -46,7 +47,7 @@ class Coordinator : public mojom::Coordinator {
const base::RepeatingClosure& on_disconnect_callback); const base::RepeatingClosure& on_disconnect_callback);
void BindCoordinatorRequest( void BindCoordinatorRequest(
mojom::CoordinatorRequest request, mojo::PendingReceiver<mojom::Coordinator> request,
const service_manager::BindSourceInfo& source_info); const service_manager::BindSourceInfo& source_info);
bool IsConnected(); bool IsConnected();
...@@ -106,7 +107,7 @@ class Coordinator : public mojom::Coordinator { ...@@ -106,7 +107,7 @@ class Coordinator : public mojom::Coordinator {
uint32_t count); uint32_t count);
base::RepeatingClosure on_disconnect_callback_; base::RepeatingClosure on_disconnect_callback_;
mojo::Binding<mojom::Coordinator> binding_; mojo::Receiver<mojom::Coordinator> receiver_{this};
const scoped_refptr<base::SequencedTaskRunner> backend_task_runner_; const scoped_refptr<base::SequencedTaskRunner> backend_task_runner_;
std::string config_; std::string config_;
bool is_tracing_ = false; bool is_tracing_ = false;
......
...@@ -240,8 +240,7 @@ class PerfettoTracingCoordinator::TracingSession : public perfetto::Consumer { ...@@ -240,8 +240,7 @@ class PerfettoTracingCoordinator::TracingSession : public perfetto::Consumer {
PerfettoTracingCoordinator::PerfettoTracingCoordinator( PerfettoTracingCoordinator::PerfettoTracingCoordinator(
AgentRegistry* agent_registry, AgentRegistry* agent_registry,
base::RepeatingClosure on_disconnect_callback) base::RepeatingClosure on_disconnect_callback)
: Coordinator(agent_registry, std::move(on_disconnect_callback)), : Coordinator(agent_registry, std::move(on_disconnect_callback)) {
binding_(this) {
DETACH_FROM_SEQUENCE(sequence_checker_); DETACH_FROM_SEQUENCE(sequence_checker_);
} }
...@@ -252,15 +251,15 @@ PerfettoTracingCoordinator::~PerfettoTracingCoordinator() { ...@@ -252,15 +251,15 @@ PerfettoTracingCoordinator::~PerfettoTracingCoordinator() {
void PerfettoTracingCoordinator::OnClientConnectionError() { void PerfettoTracingCoordinator::OnClientConnectionError() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
tracing_session_.reset(); tracing_session_.reset();
binding_.Close(); receiver_.reset();
Coordinator::OnClientConnectionError(); Coordinator::OnClientConnectionError();
} }
void PerfettoTracingCoordinator::BindCoordinatorRequest( void PerfettoTracingCoordinator::BindCoordinatorReceiver(
mojom::CoordinatorRequest request, mojo::PendingReceiver<mojom::Coordinator> receiver,
const service_manager::BindSourceInfo& source_info) { const service_manager::BindSourceInfo& source_info) {
binding_.Bind(std::move(request)); receiver_.Bind(std::move(receiver));
binding_.set_connection_error_handler( receiver_.set_disconnect_handler(
base::BindOnce(&PerfettoTracingCoordinator::OnClientConnectionError, base::BindOnce(&PerfettoTracingCoordinator::OnClientConnectionError,
base::Unretained(this))); base::Unretained(this)));
} }
......
...@@ -10,7 +10,6 @@ ...@@ -10,7 +10,6 @@
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/sequence_checker.h" #include "base/sequence_checker.h"
#include "mojo/public/cpp/bindings/binding.h"
#include "services/tracing/coordinator.h" #include "services/tracing/coordinator.h"
#include "services/tracing/public/mojom/tracing.mojom.h" #include "services/tracing/public/mojom/tracing.mojom.h"
...@@ -31,8 +30,8 @@ class PerfettoTracingCoordinator : public Coordinator { ...@@ -31,8 +30,8 @@ class PerfettoTracingCoordinator : public Coordinator {
~PerfettoTracingCoordinator() override; ~PerfettoTracingCoordinator() override;
void BindCoordinatorRequest( void BindCoordinatorReceiver(
mojom::CoordinatorRequest request, mojo::PendingReceiver<mojom::Coordinator> receiver,
const service_manager::BindSourceInfo& source_info); const service_manager::BindSourceInfo& source_info);
// mojom::Coordinator implementation. // mojom::Coordinator implementation.
...@@ -57,7 +56,7 @@ class PerfettoTracingCoordinator : public Coordinator { ...@@ -57,7 +56,7 @@ class PerfettoTracingCoordinator : public Coordinator {
const std::string& agent_label, const std::string& agent_label,
StopAndFlushCallback callback); StopAndFlushCallback callback);
mojo::Binding<mojom::Coordinator> binding_; mojo::Receiver<mojom::Coordinator> receiver_{this};
class TracingSession; class TracingSession;
std::unique_ptr<TracingSession> tracing_session_; std::unique_ptr<TracingSession> tracing_session_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment