Commit d71f2633 authored by Chris Mumford's avatar Chris Mumford Committed by Commit Bot

Convert RpcBroker::ReceiveMessageCallback to repeating callback.

media::remoting::RpcBroker::ReceiveMessageCallback is used for
callers that wish to process messages via a call to
RpcBroker::ProcessMessageFromRemote. As it is legal to call
ProcessMessageFromRemote multiple times switching ReceiveMessageCallback
from base::Callback to base::RepeatingCallback.

Bug: 1007810
Change-Id: I3479ea065a4b1bc743f41e300f9ded81401b6415
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1875272Reviewed-by: default avatarYuri Wiitala <miu@chromium.org>
Commit-Queue: Chris Mumford <cmumford@google.com>
Cr-Commit-Position: refs/heads/master@{#709328}
parent 5d96fd38
...@@ -79,8 +79,8 @@ CourierRenderer::CourierRenderer( ...@@ -79,8 +79,8 @@ CourierRenderer::CourierRenderer(
// on the media thread. Therefore, all weak pointers must be dereferenced on // on the media thread. Therefore, all weak pointers must be dereferenced on
// the media thread. // the media thread.
const RpcBroker::ReceiveMessageCallback receive_callback = const RpcBroker::ReceiveMessageCallback receive_callback =
base::Bind(&CourierRenderer::OnMessageReceivedOnMainThread, base::BindRepeating(&CourierRenderer::OnMessageReceivedOnMainThread,
media_task_runner_, weak_factory_.GetWeakPtr()); media_task_runner_, weak_factory_.GetWeakPtr());
rpc_broker_->RegisterMessageReceiverCallback(rpc_handle_, receive_callback); rpc_broker_->RegisterMessageReceiverCallback(rpc_handle_, receive_callback);
} }
......
...@@ -60,8 +60,8 @@ DemuxerStreamAdapter::DemuxerStreamAdapter( ...@@ -60,8 +60,8 @@ DemuxerStreamAdapter::DemuxerStreamAdapter(
DCHECK(demuxer_stream); DCHECK(demuxer_stream);
DCHECK(!error_callback.is_null()); DCHECK(!error_callback.is_null());
const RpcBroker::ReceiveMessageCallback receive_callback = const RpcBroker::ReceiveMessageCallback receive_callback =
BindToCurrentLoop(base::Bind(&DemuxerStreamAdapter::OnReceivedRpc, BindToCurrentLoop(base::BindRepeating(
weak_factory_.GetWeakPtr())); &DemuxerStreamAdapter::OnReceivedRpc, weak_factory_.GetWeakPtr()));
main_task_runner_->PostTask( main_task_runner_->PostTask(
FROM_HERE, base::BindOnce(&RpcBroker::RegisterMessageReceiverCallback, FROM_HERE, base::BindOnce(&RpcBroker::RegisterMessageReceiverCallback,
rpc_broker_, rpc_handle_, receive_callback)); rpc_broker_, rpc_handle_, receive_callback));
......
...@@ -47,7 +47,7 @@ class RpcBroker { ...@@ -47,7 +47,7 @@ class RpcBroker {
int GetUniqueHandle(); int GetUniqueHandle();
using ReceiveMessageCallback = using ReceiveMessageCallback =
base::Callback<void(std::unique_ptr<pb::RpcMessage>)>; base::RepeatingCallback<void(std::unique_ptr<pb::RpcMessage>)>;
// Register a component to receive messages via the given // Register a component to receive messages via the given
// ReceiveMessageCallback. |handle| is a unique handle value provided by a // ReceiveMessageCallback. |handle| is a unique handle value provided by a
// prior call to GetUniqueHandle() and is used to reference the component in // prior call to GetUniqueHandle() and is used to reference the component in
......
...@@ -101,8 +101,9 @@ TEST_F(RpcBrokerTest, TestProcessMessageFromRemoteRegistered) { ...@@ -101,8 +101,9 @@ TEST_F(RpcBrokerTest, TestProcessMessageFromRemoteRegistered) {
&FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr()))); &FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr())));
int handle = rpc_broker->GetUniqueHandle(); int handle = rpc_broker->GetUniqueHandle();
const RpcBroker::ReceiveMessageCallback receive_callback = base::Bind( const RpcBroker::ReceiveMessageCallback receive_callback =
&FakeMessageReceiver::OnReceivedRpc, fake_receiver->GetWeakPtr()); base::BindRepeating(&FakeMessageReceiver::OnReceivedRpc,
fake_receiver->GetWeakPtr());
rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback); rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback);
std::unique_ptr<pb::RpcMessage> rpc(new pb::RpcMessage()); std::unique_ptr<pb::RpcMessage> rpc(new pb::RpcMessage());
...@@ -120,8 +121,9 @@ TEST_F(RpcBrokerTest, TestProcessMessageFromRemoteUnregistered) { ...@@ -120,8 +121,9 @@ TEST_F(RpcBrokerTest, TestProcessMessageFromRemoteUnregistered) {
&FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr()))); &FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr())));
int handle = rpc_broker->GetUniqueHandle(); int handle = rpc_broker->GetUniqueHandle();
const RpcBroker::ReceiveMessageCallback receive_callback = base::Bind( const RpcBroker::ReceiveMessageCallback receive_callback =
&FakeMessageReceiver::OnReceivedRpc, fake_receiver->GetWeakPtr()); base::BindRepeating(&FakeMessageReceiver::OnReceivedRpc,
fake_receiver->GetWeakPtr());
rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback); rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback);
std::unique_ptr<pb::RpcMessage> rpc(new pb::RpcMessage()); std::unique_ptr<pb::RpcMessage> rpc(new pb::RpcMessage());
...@@ -184,8 +186,9 @@ TEST_F(RpcBrokerTest, RpcBrokerProcessMessageWithRegisteredHandle) { ...@@ -184,8 +186,9 @@ TEST_F(RpcBrokerTest, RpcBrokerProcessMessageWithRegisteredHandle) {
std::unique_ptr<RpcBroker> rpc_broker(new RpcBroker(base::Bind( std::unique_ptr<RpcBroker> rpc_broker(new RpcBroker(base::Bind(
&FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr()))); &FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr())));
int handle = rpc_broker->GetUniqueHandle(); int handle = rpc_broker->GetUniqueHandle();
const RpcBroker::ReceiveMessageCallback receive_callback = base::Bind( const RpcBroker::ReceiveMessageCallback receive_callback =
&FakeMessageReceiver::OnReceivedRpc, fake_receiver->GetWeakPtr()); base::BindRepeating(&FakeMessageReceiver::OnReceivedRpc,
fake_receiver->GetWeakPtr());
rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback); rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback);
// Generates RPC message with handle value |handle| and send it to receover // Generates RPC message with handle value |handle| and send it to receover
...@@ -215,8 +218,9 @@ TEST_F(RpcBrokerTest, RpcBrokerProcessMessageWithUnregisteredHandle) { ...@@ -215,8 +218,9 @@ TEST_F(RpcBrokerTest, RpcBrokerProcessMessageWithUnregisteredHandle) {
std::unique_ptr<RpcBroker> rpc_broker(new RpcBroker(base::Bind( std::unique_ptr<RpcBroker> rpc_broker(new RpcBroker(base::Bind(
&FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr()))); &FakeMessageReceiver::OnSendMessage, fake_receiver->GetWeakPtr())));
int handle = rpc_broker->GetUniqueHandle(); int handle = rpc_broker->GetUniqueHandle();
const RpcBroker::ReceiveMessageCallback receive_callback = base::Bind( const RpcBroker::ReceiveMessageCallback receive_callback =
&FakeMessageReceiver::OnReceivedRpc, fake_receiver->GetWeakPtr()); base::BindRepeating(&FakeMessageReceiver::OnReceivedRpc,
fake_receiver->GetWeakPtr());
rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback); rpc_broker->RegisterMessageReceiverCallback(handle, receive_callback);
// Generates RPC message with handle value |handle| and send it to receover // Generates RPC message with handle value |handle| and send it to receover
......
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