Merge branch 'google3' to roll forward to cl/339936269.

This commit is contained in:
hai007
2020-10-30 14:11:09 -07:00
2 changed files with 13 additions and 11 deletions
+12 -11
View File
@@ -56,8 +56,6 @@ void ClientProxy::StartedAdvertising(
const ConnectionListener& listener,
absl::Span<proto::connections::Medium> mediums) {
MutexLock lock(&mutex_);
if (connections_.empty()) local_endpoint_id_.clear();
advertising_info_ = {service_id, listener};
}
@@ -67,7 +65,7 @@ void ClientProxy::StoppedAdvertising() {
if (IsAdvertising()) {
advertising_info_.Clear();
}
if (connections_.empty()) local_endpoint_id_.clear();
ResetLocalEndpointIdIfNeeded();
}
bool ClientProxy::IsAdvertising() const {
@@ -83,10 +81,8 @@ std::string ClientProxy::GetAdvertisingServiceId() const {
std::string ClientProxy::GetServiceId() const {
MutexLock lock(&mutex_);
if (IsAdvertising())
return advertising_info_.service_id;
if (IsDiscovering())
return discovery_info_.service_id;
if (IsAdvertising()) return advertising_info_.service_id;
if (IsDiscovering()) return discovery_info_.service_id;
return "idle_service_id";
}
@@ -95,8 +91,6 @@ void ClientProxy::StartedDiscovery(
const DiscoveryListener& listener,
absl::Span<proto::connections::Medium> mediums) {
MutexLock lock(&mutex_);
if (connections_.empty()) local_endpoint_id_.clear();
discovery_info_ = DiscoveryInfo{service_id, listener};
}
@@ -107,7 +101,7 @@ void ClientProxy::StoppedDiscovery() {
discovered_endpoint_ids_.clear();
discovery_info_.Clear();
}
if (connections_.empty()) local_endpoint_id_.clear();
ResetLocalEndpointIdIfNeeded();
}
bool ClientProxy::IsDiscoveringServiceId(const std::string& service_id) const {
@@ -252,7 +246,7 @@ void ClientProxy::OnDisconnected(const std::string& endpoint_id, bool notify) {
item->connection_listener.disconnected_cb({endpoint_id});
}
connections_.erase(endpoint_id);
if (connections_.empty()) local_endpoint_id_.clear();
ResetLocalEndpointIdIfNeeded();
}
}
@@ -502,6 +496,13 @@ void ClientProxy::RemoveAllEndpoints() {
local_endpoint_id_.clear();
}
void ClientProxy::ResetLocalEndpointIdIfNeeded() {
MutexLock lock(&mutex_);
if (connections_.empty() && !IsAdvertising() && !IsDiscovering()) {
local_endpoint_id_.clear();
}
}
bool ClientProxy::ConnectionStatusesContains(
const std::string& endpoint_id, Connection::Status status_to_match) const {
const Connection* item = LookupConnection(endpoint_id);
+1
View File
@@ -182,6 +182,7 @@ class ClientProxy final {
};
void RemoveAllEndpoints();
void ResetLocalEndpointIdIfNeeded();
bool ConnectionStatusesContains(const std::string& endpoint_id,
Connection::Status status_to_match) const;
void AppendConnectionStatus(const std::string& endpoint_id,