mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
Reset to disconnect from individual endpoints
PiperOrigin-RevId: 808300954
This commit is contained in:
committed by
Copybara-Service
parent
3f4e2a6ca0
commit
43ab7841ad
@@ -823,8 +823,7 @@ void NearbyConnectionsManagerImpl::DeleteUnknownFilePayloadAndCancel(
|
||||
}
|
||||
|
||||
void NearbyConnectionsManagerImpl::ProcessUnknownFilePathsToDelete(
|
||||
PayloadStatus status, PayloadContent::Type type,
|
||||
const FilePath& path) {
|
||||
PayloadStatus status, PayloadContent::Type type, const FilePath& path) {
|
||||
// Unknown payload comes as kInProgress and kCanceled status with kFile type
|
||||
// from NearbyConnections. Delete it.
|
||||
if ((status == PayloadStatus::kCanceled ||
|
||||
@@ -925,12 +924,17 @@ void NearbyConnectionsManagerImpl::OnPayloadTransferUpdate(
|
||||
|
||||
void NearbyConnectionsManagerImpl::Reset() {
|
||||
MutexLock lock(&mutex_);
|
||||
nearby_connections_service_->StopAllEndpoints([](ConnectionsStatus status) {
|
||||
VLOG(1) << __func__
|
||||
<< ": Stop all endpoints attempted over Nearby "
|
||||
"Connections with result: "
|
||||
<< ConnectionsStatusToString(status);
|
||||
});
|
||||
|
||||
for (auto& [endpoint_id, connection] : connections_) {
|
||||
nearby_connections_service_->DisconnectFromEndpoint(
|
||||
kServiceId, endpoint_id,
|
||||
[endpoint_id = std::string(endpoint_id)](ConnectionsStatus status) {
|
||||
VLOG(1) << __func__
|
||||
<< ": Disconnect from endpoint attempted over Nearby "
|
||||
"Connections with result: "
|
||||
<< ConnectionsStatusToString(status);
|
||||
});
|
||||
}
|
||||
|
||||
discovered_endpoints_.clear();
|
||||
payload_status_listeners_.clear();
|
||||
|
||||
@@ -204,9 +204,8 @@ class NearbyConnectionsManagerImplTest : public testing::Test {
|
||||
notification.Notify();
|
||||
};
|
||||
|
||||
nearby_connections_manager_->StartDiscovery(&discovery_listener, data_usage,
|
||||
std::nullopt,
|
||||
std::move(callback));
|
||||
nearby_connections_manager_->StartDiscovery(
|
||||
&discovery_listener, data_usage, std::nullopt, std::move(callback));
|
||||
|
||||
EXPECT_TRUE(
|
||||
notification.WaitForNotificationWithTimeout(kSynchronizationTimeOut));
|
||||
@@ -1740,9 +1739,21 @@ TEST_F(NearbyConnectionsManagerImplTest, ShutdownAdvertising) {
|
||||
incoming_connection_listener;
|
||||
StartAdvertising(connection_listener_remote, incoming_connection_listener);
|
||||
|
||||
NearbyConnectionsService::PayloadListener payload_listener_remote;
|
||||
NearbyConnection* connection = OnIncomingConnection(
|
||||
connection_listener_remote, incoming_connection_listener,
|
||||
payload_listener_remote);
|
||||
EXPECT_NE(connection, nullptr);
|
||||
|
||||
auto payload_listener =
|
||||
std::make_shared<testing::NiceMock<MockPayloadStatusListener>>();
|
||||
nearby_connections_manager_->RegisterPayloadStatusListener(
|
||||
kPayloadId, payload_listener->GetWeakPtr());
|
||||
|
||||
absl::Notification notification;
|
||||
EXPECT_CALL(*nearby_connections_, StopAllEndpoints)
|
||||
.WillOnce([&](std::function<void(Status status)> callback) {
|
||||
EXPECT_CALL(*nearby_connections_, DisconnectFromEndpoint)
|
||||
.WillOnce([&](absl::string_view service_id, absl::string_view endpoint_id,
|
||||
std::function<void(Status status)> callback) {
|
||||
std::move(callback)(Status::kSuccess);
|
||||
notification.Notify();
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user