mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
Remove AutoReconnection code
PiperOrigin-RevId: 884691071
This commit is contained in:
@@ -119,14 +119,11 @@ ClientProxy::ClientProxy(::nearby::analytics::EventLogger* event_logger)
|
||||
supports_safe_to_disconnect_ = NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kEnableSafeToDisconnect);
|
||||
support_auto_reconnect_ = NearbyFlags::GetInstance().GetBoolFlag(
|
||||
config_package_nearby::nearby_connections_feature::kEnableAutoReconnect);
|
||||
local_safe_to_disconnect_version_ = NearbyFlags::GetInstance().GetInt64Flag(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kSafeToDisconnectVersion);
|
||||
LOG(INFO) << "[safe-to-disconnect]: Local enabled: "
|
||||
<< supports_safe_to_disconnect_
|
||||
<< "; Version: " << local_safe_to_disconnect_version_;
|
||||
<< supports_safe_to_disconnect_ << "; Version: "
|
||||
<< NearbyFlags::GetInstance().GetInt64Flag(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kSafeToDisconnectVersion);
|
||||
// Generate a 7 bits dedup value.
|
||||
absl::BitGen bitgen;
|
||||
dct_dedup_ = absl::Uniform(bitgen, 0, 1 << 7);
|
||||
@@ -1008,14 +1005,6 @@ bool ClientProxy::IsSafeToDisconnectEnabled(absl::string_view endpoint_id) {
|
||||
.min_nc_version_supports_safe_to_disconnect);
|
||||
}
|
||||
|
||||
bool ClientProxy::IsAutoReconnectEnabled(absl::string_view endpoint_id) {
|
||||
return IsSupportAutoReconnect() &&
|
||||
GetRemoteSafeToDisconnectVersion(endpoint_id).has_value() &&
|
||||
(GetRemoteSafeToDisconnectVersion(endpoint_id) >=
|
||||
FeatureFlags::GetInstance()
|
||||
.GetFlags()
|
||||
.min_nc_version_supports_auto_reconnect);
|
||||
}
|
||||
|
||||
bool ClientProxy::IsPayloadReceivedAckEnabled(absl::string_view endpoint_id) {
|
||||
return IsSupportSafeToDisconnect() &&
|
||||
|
||||
@@ -303,18 +303,12 @@ class ClientProxy final {
|
||||
return supports_safe_to_disconnect_;
|
||||
}
|
||||
|
||||
bool IsSupportAutoReconnect() const { return support_auto_reconnect_; }
|
||||
|
||||
const std::int32_t& GetLocalSafeToDisconnectVersion() const {
|
||||
return local_safe_to_disconnect_version_;
|
||||
}
|
||||
std::optional<std::int32_t> GetRemoteSafeToDisconnectVersion(
|
||||
absl::string_view endpoint_id) const;
|
||||
void SetRemoteSafeToDisconnectVersion(
|
||||
absl::string_view endpoint_id,
|
||||
const std::int32_t& safe_to_disconnect_version);
|
||||
bool IsSafeToDisconnectEnabled(absl::string_view endpoint_id);
|
||||
bool IsAutoReconnectEnabled(absl::string_view endpoint_id);
|
||||
bool IsPayloadReceivedAckEnabled(absl::string_view endpoint_id);
|
||||
|
||||
// Returns the multiplex socket supports status for local device.
|
||||
@@ -549,8 +543,6 @@ class ClientProxy final {
|
||||
// For Nearby Connections' own device provider.
|
||||
std::unique_ptr<v3::ConnectionsDeviceProvider> connections_device_provider_;
|
||||
bool supports_safe_to_disconnect_;
|
||||
bool support_auto_reconnect_;
|
||||
std::int32_t local_safe_to_disconnect_version_;
|
||||
// Allowed to use WebRTC over non-cellular networks.
|
||||
bool webrtc_non_cellular_ = false;
|
||||
// Whether DCT is enabled.
|
||||
|
||||
@@ -782,10 +782,6 @@ void EndpointManager::RemoveEndpoint(ClientProxy* client,
|
||||
<< (safe_disconnect_result ? "true" : "false");
|
||||
}
|
||||
}
|
||||
if (safe_disconnect_result ==
|
||||
ConnectionsLog::EstablishedConnection::UNSAFE_DISCONNECTION) {
|
||||
// TODO(b/297259496): Autoreconnect
|
||||
}
|
||||
|
||||
// Unregistering from channel_manager_ will also serve to terminate
|
||||
// the dedicated handler and KeepAlive threads we started when we registered
|
||||
|
||||
@@ -136,16 +136,13 @@ class MockFrameProcessor : public EndpointManager::FrameProcessor {
|
||||
|
||||
class SetSafeToDisconnect {
|
||||
public:
|
||||
SetSafeToDisconnect(bool safe_to_disconnect, bool auto_reconnect,
|
||||
SetSafeToDisconnect(bool safe_to_disconnect,
|
||||
bool payload_received_ack,
|
||||
std::int32_t safe_to_disconnect_version) {
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kEnableSafeToDisconnect,
|
||||
safe_to_disconnect);
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::kEnableAutoReconnect,
|
||||
auto_reconnect);
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kEnablePayloadReceivedAck,
|
||||
@@ -187,7 +184,7 @@ class EndpointManagerTest : public ::testing::Test {
|
||||
EXPECT_TRUE(done.Await(absl::Milliseconds(1000)).result());
|
||||
}
|
||||
}
|
||||
SetSafeToDisconnect set_safe_to_disconnect_{true, false, true, 5};
|
||||
SetSafeToDisconnect set_safe_to_disconnect_{true, true, 5};
|
||||
std::unique_ptr<ClientProxy> client_ = std::make_unique<ClientProxy>();
|
||||
ConnectionOptions connection_options_{
|
||||
.keep_alive_interval_millis = 5000,
|
||||
|
||||
@@ -37,9 +37,6 @@ constexpr auto kDisableInstantOnLostOnBleWithoutExtended =
|
||||
// When true, enable advertising for instant on lost feature.
|
||||
constexpr auto kEnableAdvertisingForInstantOnLost =
|
||||
flags::Flag<bool>(kConfigPackage, "45708614", true);
|
||||
// Enable/Disable auto_reconnect feature.
|
||||
constexpr auto kEnableAutoReconnect =
|
||||
flags::Flag<bool>(kConfigPackage, "45427690", false);
|
||||
// Enable/Disable AWDL in Nearby connections SDK.
|
||||
constexpr auto kEnableAwdl =
|
||||
flags::Flag<bool>(kConfigPackage, "45690762", false);
|
||||
@@ -109,7 +106,8 @@ constexpr auto kRefactorBleL2cap =
|
||||
constexpr auto kEnableSharedPeripheralManager =
|
||||
flags::Flag<bool>(kConfigPackage, "45770787", false);
|
||||
// Set the safe-to-disconnect version.
|
||||
// 0. Disabled all. 1. safe-to-disconnect 2. reserved 3. auto-reconnect
|
||||
// 0. Disabled all. 1. safe-to-disconnect 2. reserved 3.
|
||||
// auto-reconnect(deprecated)
|
||||
// 4. auto-resume 5. non-distance-constraint-recovery 6. payload_ack
|
||||
constexpr auto kSafeToDisconnectVersion =
|
||||
flags::Flag<int64_t>(kConfigPackage, "45425841", 0);
|
||||
|
||||
@@ -38,7 +38,6 @@ namespace {
|
||||
|
||||
using ExceptionOrOfflineFrame =
|
||||
ExceptionOr<::location::nearby::connections::OfflineFrame>;
|
||||
using ::location::nearby::connections::AutoReconnectFrame;
|
||||
using ::location::nearby::connections::BandwidthUpgradeNegotiationFrame;
|
||||
using ::location::nearby::connections::ConnectionRequestFrame;
|
||||
using ::location::nearby::connections::ConnectionResponseFrame;
|
||||
@@ -574,30 +573,6 @@ ByteArray ForDisconnection(bool request_safe_to_disconnect,
|
||||
return ToBytes(std::move(frame));
|
||||
}
|
||||
|
||||
ByteArray ForAutoReconnectIntroduction(const std::string& endpoint_id) {
|
||||
OfflineFrame frame;
|
||||
|
||||
frame.set_version(OfflineFrame::V1);
|
||||
auto* v1_frame = frame.mutable_v1();
|
||||
v1_frame->set_type(V1Frame::AUTO_RECONNECT);
|
||||
auto* auto_reconnect = v1_frame->mutable_auto_reconnect();
|
||||
auto_reconnect->set_endpoint_id(endpoint_id);
|
||||
auto_reconnect->set_event_type(AutoReconnectFrame::CLIENT_INTRODUCTION);
|
||||
|
||||
return ToBytes(std::move(frame));
|
||||
}
|
||||
|
||||
ByteArray ForAutoReconnectIntroductionAck() {
|
||||
OfflineFrame frame;
|
||||
|
||||
frame.set_version(OfflineFrame::V1);
|
||||
auto* v1_frame = frame.mutable_v1();
|
||||
v1_frame->set_type(V1Frame::AUTO_RECONNECT);
|
||||
auto* auto_reconnect = v1_frame->mutable_auto_reconnect();
|
||||
auto_reconnect->set_event_type(AutoReconnectFrame::CLIENT_INTRODUCTION_ACK);
|
||||
|
||||
return ToBytes(std::move(frame));
|
||||
}
|
||||
|
||||
UpgradePathInfo::Medium MediumToUpgradePathInfoMedium(Medium medium) {
|
||||
switch (medium) {
|
||||
|
||||
@@ -117,8 +117,6 @@ ByteArray ForKeepAlive();
|
||||
ByteArray ForKeepAlive(bool ack, uint32_t seq_num);
|
||||
ByteArray ForDisconnection(bool request_safe_to_disconnect,
|
||||
bool ack_safe_to_disconnect);
|
||||
ByteArray ForAutoReconnectIntroduction(const std::string& endpoint_id);
|
||||
ByteArray ForAutoReconnectIntroductionAck();
|
||||
UpgradePathInfo::Medium MediumToUpgradePathInfoMedium(Medium medium);
|
||||
Medium UpgradePathInfoMediumToMedium(UpgradePathInfo::Medium medium);
|
||||
|
||||
|
||||
@@ -737,35 +737,6 @@ TEST(OfflineFramesTest, CanGenerateDisconnection) {
|
||||
EXPECT_THAT(message, EqualsProto(kExpected));
|
||||
}
|
||||
|
||||
TEST(OfflineFramesTest, CanGenerateAutoReconnectIntroduction) {
|
||||
constexpr absl::string_view kExpected =
|
||||
R"pb(
|
||||
version: V1
|
||||
v1: <
|
||||
type: AUTO_RECONNECT
|
||||
auto_reconnect: < event_type: CLIENT_INTRODUCTION endpoint_id: "ABC" >
|
||||
>)pb";
|
||||
ByteArray bytes = ForAutoReconnectIntroduction(std::string(kEndpointId));
|
||||
auto response = FromBytes(bytes);
|
||||
ASSERT_TRUE(response.ok());
|
||||
OfflineFrame message = response.result();
|
||||
EXPECT_THAT(message, EqualsProto(kExpected));
|
||||
}
|
||||
|
||||
TEST(OfflineFramesTest, CanGenerateAutoReconnectIntroductionAck) {
|
||||
constexpr absl::string_view kExpected =
|
||||
R"pb(
|
||||
version: V1
|
||||
v1: <
|
||||
type: AUTO_RECONNECT
|
||||
auto_reconnect: < event_type: CLIENT_INTRODUCTION_ACK >
|
||||
>)pb";
|
||||
ByteArray bytes = ForAutoReconnectIntroductionAck();
|
||||
auto response = FromBytes(bytes);
|
||||
ASSERT_TRUE(response.ok());
|
||||
OfflineFrame message = response.result();
|
||||
EXPECT_THAT(message, EqualsProto(kExpected));
|
||||
}
|
||||
|
||||
TEST(OfflineFramesTest, CanGenerateBwuPathRequest) {
|
||||
constexpr absl::string_view kExpected =
|
||||
|
||||
@@ -46,16 +46,13 @@ namespace connections {
|
||||
|
||||
class SetSafeToDisconnect {
|
||||
public:
|
||||
explicit SetSafeToDisconnect(bool safe_to_disconnect, bool auto_reconnect,
|
||||
explicit SetSafeToDisconnect(bool safe_to_disconnect,
|
||||
bool payload_received_ack,
|
||||
std::int32_t safe_to_disconnect_version) {
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kEnableSafeToDisconnect,
|
||||
safe_to_disconnect);
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::kEnableAutoReconnect,
|
||||
auto_reconnect);
|
||||
NearbyFlags::GetInstance().OverrideBoolFlagValue(
|
||||
config_package_nearby::nearby_connections_feature::
|
||||
kEnablePayloadReceivedAck,
|
||||
@@ -81,7 +78,7 @@ class SimulationUser {
|
||||
SimulationUser(const std::string& device_name,
|
||||
BooleanMediumSelector allowed = BooleanMediumSelector(),
|
||||
SetSafeToDisconnect set_safe_to_disconnect =
|
||||
SetSafeToDisconnect(true, false, true, 5))
|
||||
SetSafeToDisconnect(true, true, 5))
|
||||
: info_{ByteArray{device_name}},
|
||||
advertising_options_{
|
||||
{
|
||||
|
||||
@@ -75,14 +75,6 @@ class FeatureFlags {
|
||||
// auto-resume 5. non-distance-constraint-recovery 6. payload_ack
|
||||
std::int32_t min_nc_version_supports_safe_to_disconnect = 1;
|
||||
std::int32_t min_nc_version_supports_auto_reconnect = 3;
|
||||
absl::Duration safe_to_disconnect_reconnect_retry_delay_millis =
|
||||
absl::Milliseconds(4000);
|
||||
absl::Duration safe_to_disconnect_reconnect_timeout_millis =
|
||||
absl::Milliseconds(15000);
|
||||
std::int32_t safe_to_disconnect_reconnect_retry_attempts = 3;
|
||||
absl::Duration
|
||||
safe_to_disconnect_reconnect_skip_duplicated_endpoint_duration =
|
||||
absl::Milliseconds(2000);
|
||||
// Android code won't be able to launch "payload_received_ack" feature for
|
||||
// in near future, so change "payload_received_ack" version from "2" to "5"
|
||||
// after auto-reconnect and auto-resume.
|
||||
|
||||
Reference in New Issue
Block a user