Commit 5afc937a authored by Kyle Horimoto's avatar Kyle Horimoto Committed by Commit Bot

[CrOS PhoneHub] Add ConnectionMedium parameter to SecureChannelClient

Additionally, update all existing clients to use the kBluetoothLowEnergy
client.

Bug: 1106937
Change-Id: I064abe879b2a74612ff4a096f9305eef25e5bd11
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2391739
Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
Reviewed-by: default avatarJames Vecore <vecore@google.com>
Cr-Commit-Position: refs/heads/master@{#804286}
parent e38f8594
......@@ -80,6 +80,7 @@ void RemoteDeviceLifeCycleImpl::TransitionToState(
void RemoteDeviceLifeCycleImpl::FindConnection() {
connection_attempt_ = secure_channel_client_->ListenForConnectionFromDevice(
remote_device_, *local_device_, kSmartLockFeatureName,
chromeos::secure_channel::ConnectionMedium::kBluetoothLowEnergy,
chromeos::secure_channel::ConnectionPriority::kHigh);
connection_attempt_->SetDelegate(this);
......
......@@ -175,7 +175,8 @@ void ConnectionPreserverImpl::SetPreservedConnection(
connection_attempt_ = secure_channel_client_->ListenForConnectionFromDevice(
*remote_device, *device_sync_client_->GetLocalDeviceMetadata(),
kTetherFeature, secure_channel::ConnectionPriority::kLow);
kTetherFeature, secure_channel::ConnectionMedium::kBluetoothLowEnergy,
secure_channel::ConnectionPriority::kLow);
connection_attempt_->SetDelegate(this);
preserved_connection_timer_->Start(
......
......@@ -133,7 +133,9 @@ void MessageTransferOperation::Initialize() {
this, remote_device,
secure_channel_client_->ListenForConnectionFromDevice(
remote_device, *device_sync_client_->GetLocalDeviceMetadata(),
kTetherFeature, connection_priority_));
kTetherFeature,
secure_channel::ConnectionMedium::kBluetoothLowEnergy,
connection_priority_));
}
}
......
......@@ -14,10 +14,12 @@ FakeSecureChannelClient::ConnectionRequestArguments::ConnectionRequestArguments(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
const ConnectionPriority& connection_priority)
ConnectionMedium connection_medium,
ConnectionPriority connection_priority)
: device_to_connect(device_to_connect),
local_device(local_device),
feature(feature),
connection_medium(connection_medium),
connection_priority(connection_priority) {}
FakeSecureChannelClient::ConnectionRequestArguments::
......@@ -35,6 +37,7 @@ FakeSecureChannelClient::InitiateConnectionToDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) {
auto remote_local_pair = std::make_pair(device_to_connect, local_device);
std::unique_ptr<ConnectionAttempt> connection_attempt = std::move(
......@@ -48,6 +51,7 @@ FakeSecureChannelClient::ListenForConnectionFromDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) {
auto remote_local_pair = std::make_pair(device_to_connect, local_device);
std::unique_ptr<ConnectionAttempt> connection_attempt = std::move(
......
......@@ -26,12 +26,14 @@ class FakeSecureChannelClient : public SecureChannelClient {
ConnectionRequestArguments(multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
const ConnectionPriority& connection_priority);
ConnectionMedium connection_medium,
ConnectionPriority connection_priority);
~ConnectionRequestArguments();
multidevice::RemoteDeviceRef device_to_connect;
multidevice::RemoteDeviceRef local_device;
std::string feature;
ConnectionMedium connection_medium;
ConnectionPriority connection_priority;
private:
......@@ -121,11 +123,13 @@ class FakeSecureChannelClient : public SecureChannelClient {
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) override;
std::unique_ptr<ConnectionAttempt> ListenForConnectionFromDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) override;
private:
......
......@@ -39,7 +39,9 @@ class ConnectionAttempt;
// |local_device| but different features, those clients will share the same
// underlying connection, but their messages will be routed to the correct
// clients based on the |feature| identifier of the message.
// 4) |connection_priority|:
// 4) |connection_medium|:
// The medium (e.g., BLE) to use.
// 5) |connection_priority|:
// The priority of this connection request. Please make higher priority
// requests only when necessary.
//
......@@ -57,11 +59,13 @@ class SecureChannelClient {
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) = 0;
virtual std::unique_ptr<ConnectionAttempt> ListenForConnectionFromDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) = 0;
protected:
......
......@@ -50,6 +50,7 @@ SecureChannelClientImpl::InitiateConnectionToDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) {
auto connection_attempt = ConnectionAttemptImpl::Factory::Create();
......@@ -60,7 +61,8 @@ SecureChannelClientImpl::InitiateConnectionToDevice(
base::BindOnce(
&SecureChannelClientImpl::PerformInitiateConnectionToDevice,
weak_ptr_factory_.GetWeakPtr(), device_to_connect, local_device,
feature, connection_priority, connection_attempt->GenerateRemote()));
feature, connection_medium, connection_priority,
connection_attempt->GenerateRemote()));
return connection_attempt;
}
......@@ -70,6 +72,7 @@ SecureChannelClientImpl::ListenForConnectionFromDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) {
auto connection_attempt = ConnectionAttemptImpl::Factory::Create();
......@@ -81,7 +84,8 @@ SecureChannelClientImpl::ListenForConnectionFromDevice(
base::BindOnce(
&SecureChannelClientImpl::PerformListenForConnectionFromDevice,
weak_ptr_factory_.GetWeakPtr(), device_to_connect, local_device,
feature, connection_priority, connection_attempt->GenerateRemote()));
feature, connection_medium, connection_priority,
connection_attempt->GenerateRemote()));
return connection_attempt;
}
......@@ -90,11 +94,12 @@ void SecureChannelClientImpl::PerformInitiateConnectionToDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority,
mojo::PendingRemote<mojom::ConnectionDelegate> connection_delegate_remote) {
secure_channel_remote_->InitiateConnectionToDevice(
device_to_connect.GetRemoteDevice(), local_device.GetRemoteDevice(),
feature, ConnectionMedium::kBluetoothLowEnergy, connection_priority,
feature, connection_medium, connection_priority,
std::move(connection_delegate_remote));
}
......@@ -102,11 +107,12 @@ void SecureChannelClientImpl::PerformListenForConnectionFromDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority,
mojo::PendingRemote<mojom::ConnectionDelegate> connection_delegate_remote) {
secure_channel_remote_->ListenForConnectionFromDevice(
device_to_connect.GetRemoteDevice(), local_device.GetRemoteDevice(),
feature, ConnectionMedium::kBluetoothLowEnergy, connection_priority,
feature, connection_medium, connection_priority,
std::move(connection_delegate_remote));
}
......
......@@ -53,17 +53,20 @@ class SecureChannelClientImpl : public SecureChannelClient {
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) override;
std::unique_ptr<ConnectionAttempt> ListenForConnectionFromDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) override;
void PerformInitiateConnectionToDevice(
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority,
mojo::PendingRemote<mojom::ConnectionDelegate>
connection_delegate_remote);
......@@ -71,6 +74,7 @@ class SecureChannelClientImpl : public SecureChannelClient {
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority,
mojo::PendingRemote<mojom::ConnectionDelegate>
connection_delegate_remote);
......
......@@ -163,9 +163,11 @@ class SecureChannelClientImplTest : public testing::Test {
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) {
auto connection_attempt = client_->ListenForConnectionFromDevice(
device_to_connect, local_device, feature, connection_priority);
device_to_connect, local_device, feature, connection_medium,
connection_priority);
auto fake_connection_attempt = base::WrapUnique(
static_cast<FakeConnectionAttempt*>(connection_attempt.release()));
fake_connection_attempt->SetDelegate(
......@@ -182,9 +184,11 @@ class SecureChannelClientImplTest : public testing::Test {
multidevice::RemoteDeviceRef device_to_connect,
multidevice::RemoteDeviceRef local_device,
const std::string& feature,
ConnectionMedium connection_medium,
ConnectionPriority connection_priority) {
auto connection_attempt = client_->InitiateConnectionToDevice(
device_to_connect, local_device, feature, connection_priority);
device_to_connect, local_device, feature, connection_medium,
connection_priority);
auto fake_connection_attempt = base::WrapUnique(
static_cast<FakeConnectionAttempt*>(connection_attempt.release()));
fake_connection_attempt->SetDelegate(
......@@ -227,7 +231,8 @@ class SecureChannelClientImplTest : public testing::Test {
TEST_F(SecureChannelClientImplTest, TestInitiateConnectionToDevice) {
auto fake_connection_attempt = CallInitiateConnectionToDevice(
test_remote_device_ref_list_[1], test_remote_device_ref_list_[0],
"feature", ConnectionPriority::kLow);
"feature", ConnectionMedium::kBluetoothLowEnergy,
ConnectionPriority::kLow);
base::RunLoop run_loop;
......@@ -249,7 +254,8 @@ TEST_F(SecureChannelClientImplTest, TestInitiateConnectionToDevice) {
TEST_F(SecureChannelClientImplTest, TestInitiateConnectionToDevice_Failure) {
auto fake_connection_attempt = CallInitiateConnectionToDevice(
test_remote_device_ref_list_[1], test_remote_device_ref_list_[0],
"feature", ConnectionPriority::kLow);
"feature", ConnectionMedium::kBluetoothLowEnergy,
ConnectionPriority::kLow);
base::RunLoop run_loop;
......@@ -270,7 +276,8 @@ TEST_F(SecureChannelClientImplTest, TestInitiateConnectionToDevice_Failure) {
TEST_F(SecureChannelClientImplTest, TestListenForConnectionFromDevice) {
auto fake_connection_attempt = CallListenForConnectionFromDevice(
test_remote_device_ref_list_[1], test_remote_device_ref_list_[0],
"feature", ConnectionPriority::kLow);
"feature", ConnectionMedium::kBluetoothLowEnergy,
ConnectionPriority::kLow);
base::RunLoop run_loop;
......@@ -292,7 +299,8 @@ TEST_F(SecureChannelClientImplTest, TestListenForConnectionFromDevice) {
TEST_F(SecureChannelClientImplTest, TestListenForConnectionFromDevice_Failure) {
auto fake_connection_attempt = CallListenForConnectionFromDevice(
test_remote_device_ref_list_[1], test_remote_device_ref_list_[0],
"feature", ConnectionPriority::kLow);
"feature", ConnectionMedium::kBluetoothLowEnergy,
ConnectionPriority::kLow);
base::RunLoop run_loop;
......@@ -313,7 +321,8 @@ TEST_F(SecureChannelClientImplTest, TestListenForConnectionFromDevice_Failure) {
TEST_F(SecureChannelClientImplTest, TestMultipleConnections) {
auto fake_connection_attempt_1 = CallInitiateConnectionToDevice(
test_remote_device_ref_list_[1], test_remote_device_ref_list_[0],
"feature", ConnectionPriority::kLow);
"feature", ConnectionMedium::kBluetoothLowEnergy,
ConnectionPriority::kLow);
base::RunLoop run_loop_1;
fake_connection_attempt_1->set_on_connection_callback(
run_loop_1.QuitClosure());
......@@ -331,7 +340,8 @@ TEST_F(SecureChannelClientImplTest, TestMultipleConnections) {
auto fake_connection_attempt_2 = CallListenForConnectionFromDevice(
test_remote_device_ref_list_[2], test_remote_device_ref_list_[0],
"feature", ConnectionPriority::kLow);
"feature", ConnectionMedium::kBluetoothLowEnergy,
ConnectionPriority::kLow);
base::RunLoop run_loop_2;
fake_connection_attempt_2->set_on_connection_callback(
run_loop_2.QuitClosure());
......
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