Commit 25034fc9 authored by Findit's avatar Findit

Revert "[CrOS MultiDevice] Implement PendingConnectionManagerImpl."

This reverts commit 8828e090.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 568352 as the
culprit for failures in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzg4MjhlMDkwM2U4Y2QxNzIyZDE0ZjI3Zjg3YjgxYTllZWQxOGQ1NWMM

Sample Failed Build: https://ci.chromium.org/buildbot/chromium.memory/Linux%20ChromiumOS%20MSan%20Tests/7673

Sample Failed Step: chromeos_unittests

Original change's description:
> [CrOS MultiDevice] Implement PendingConnectionManagerImpl.
> 
> This class creates one ConnectionAttempt per ConnectionAttemptDetails
> requested; if more than one request shares the same
> ConnectionAttemptDetails, a single ConnectionAttempt attempts a
> connection for all associated requests.
> 
> If a ConnectionAttempt successfully creates a channel, this class
> extracts client data from all requests to the same remote device and
> alerts its delegate, deleting all associated ConnectionAttempts when it
> is finished.
> 
> Bug: 824568, 752273
> Change-Id: If9790549157919209e3e96f4a0b11d04fda2870c
> Reviewed-on: https://chromium-review.googlesource.com/1103669
> Commit-Queue: Kyle Horimoto <khorimoto@chromium.org>
> Reviewed-by: Ryan Hansberry <hansberry@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#568352}

Change-Id: Idd35a8b968324aafbf283868ff79fa49d9f879e5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 824568, 752273
Reviewed-on: https://chromium-review.googlesource.com/1105897
Cr-Commit-Position: refs/heads/master@{#568396}
parent ce24c5ff
......@@ -8,14 +8,8 @@
#include <memory>
#include <vector>
#include "base/containers/flat_map.h"
#include "base/containers/flat_set.h"
#include "base/macros.h"
#include "chromeos/services/secure_channel/ble_initiator_failure_type.h"
#include "chromeos/services/secure_channel/ble_listener_failure_type.h"
#include "chromeos/services/secure_channel/client_connection_parameters.h"
#include "chromeos/services/secure_channel/connection_attempt.h"
#include "chromeos/services/secure_channel/connection_attempt_delegate.h"
#include "chromeos/services/secure_channel/connection_medium.h"
#include "chromeos/services/secure_channel/connection_role.h"
#include "chromeos/services/secure_channel/device_id_pair.h"
......@@ -26,18 +20,9 @@ namespace chromeos {
namespace secure_channel {
class BleConnectionManager;
// Concrete PendingConnectionManager implementation. This class creates one
// ConnectionAttempt per ConnectionAttemptDetails requested; if more than one
// request shares the same ConnectionAttemptDetails, a single ConnectionAttempt
// attempts a connection for all associated requests.
//
// If a ConnectionAttempt successfully creates a channel, this class extracts
// client data from all requests to the same remote device and alerts its
// delegate, deleting all associated ConnectionAttempts when it is finished.
class PendingConnectionManagerImpl : public PendingConnectionManager,
public ConnectionAttemptDelegate {
// Concrete PendingConnectionManager implementation.
// TODO(khorimoto): Implement.
class PendingConnectionManagerImpl : public PendingConnectionManager {
public:
class Factory {
public:
......@@ -45,8 +30,7 @@ class PendingConnectionManagerImpl : public PendingConnectionManager,
static void SetFactoryForTesting(Factory* test_factory);
virtual ~Factory();
virtual std::unique_ptr<PendingConnectionManager> BuildInstance(
Delegate* delegate,
BleConnectionManager* ble_connection_manager);
Delegate* delegate);
private:
static Factory* test_factory_;
......@@ -55,47 +39,13 @@ class PendingConnectionManagerImpl : public PendingConnectionManager,
~PendingConnectionManagerImpl() override;
private:
PendingConnectionManagerImpl(Delegate* delegate,
BleConnectionManager* ble_connection_manager);
PendingConnectionManagerImpl(Delegate* delegate);
// PendingConnectionManager:
void HandleConnectionRequest(
const ConnectionAttemptDetails& connection_attempt_details,
std::unique_ptr<ClientConnectionParameters> client_connection_parameters,
ConnectionPriority connection_priority) override;
// ConnectionAttemptDelegate:
void OnConnectionAttemptSucceeded(
const ConnectionDetails& connection_details,
std::unique_ptr<AuthenticatedChannel> authenticated_channel) override;
void OnConnectionAttemptFinishedWithoutConnection(
const ConnectionAttemptDetails& connection_attempt_details) override;
void HandleBleInitiatorRequest(
const ConnectionAttemptDetails& connection_attempt_details,
std::unique_ptr<ClientConnectionParameters> client_connection_parameters,
ConnectionPriority connection_priority);
void HandleBleListenerRequest(
const ConnectionAttemptDetails& connection_attempt_details,
std::unique_ptr<ClientConnectionParameters> client_connection_parameters,
ConnectionPriority connection_priority);
void RemoveMapEntriesForFinishedConnectionAttempt(
const ConnectionAttemptDetails& connection_attempt_details);
base::flat_map<DeviceIdPair,
std::unique_ptr<ConnectionAttempt<BleInitiatorFailureType>>>
id_pair_to_ble_initiator_connection_attempts_;
base::flat_map<DeviceIdPair,
std::unique_ptr<ConnectionAttempt<BleListenerFailureType>>>
id_pair_to_ble_listener_connection_attempts_;
base::flat_map<ConnectionDetails, base::flat_set<ConnectionAttemptDetails>>
details_to_attempt_details_map_;
BleConnectionManager* ble_connection_manager_;
DISALLOW_COPY_AND_ASSIGN(PendingConnectionManagerImpl);
};
......
......@@ -70,9 +70,7 @@ SecureChannelImpl::SecureChannelImpl()
this /* delegate */)),
pending_connection_manager_(
PendingConnectionManagerImpl::Factory::Get()->BuildInstance(
this /* delegate */,
// TODO(khorimoto): Pass the actual BleConnectionManager here.
nullptr /* ble_connection_manager */)),
this /* delegate */)),
remote_device_cache_(
cryptauth::RemoteDeviceCache::Factory::Get()->BuildInstance()) {}
......
......@@ -68,10 +68,7 @@ class FakePendingConnectionManagerFactory
private:
std::unique_ptr<PendingConnectionManager> BuildInstance(
PendingConnectionManager::Delegate* delegate,
BleConnectionManager* ble_connection_manager) override {
// TODO(khorimoto): Verify that |ble_connection_manager| is correctly passed
// to this factory.
PendingConnectionManager::Delegate* delegate) override {
EXPECT_FALSE(instance_);
auto instance = std::make_unique<FakePendingConnectionManager>(delegate);
instance_ = instance.get();
......
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