Automated Code Change

PiperOrigin-RevId: 801577756
This commit is contained in:
hai007
2025-08-31 14:38:48 -07:00
committed by Copybara-Service
parent d44997d16d
commit 91721c3dbb
10 changed files with 146 additions and 146 deletions
+16 -16
View File
@@ -50,7 +50,7 @@ std::string AwdlServerSocket::GetName(const std::string& ip_address, int port) {
}
std::unique_ptr<api::AwdlSocket> AwdlServerSocket::Accept() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
while (!closed_ && pending_sockets_.empty()) {
cond_.Wait(&mutex_);
}
@@ -68,7 +68,7 @@ std::unique_ptr<api::AwdlSocket> AwdlServerSocket::Accept() {
}
bool AwdlServerSocket::Connect(AwdlSocket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR) << "Failed to connect to Awdl server socket: already connected";
@@ -85,17 +85,17 @@ bool AwdlServerSocket::Connect(AwdlSocket& socket) {
}
void AwdlServerSocket::SetCloseNotifier(absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
AwdlServerSocket::~AwdlServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception AwdlServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -106,11 +106,11 @@ Exception AwdlServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -133,7 +133,7 @@ bool AwdlMedium::StartAdvertising(const NsdServiceInfo& nsd_service_info) {
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (advertising_info_.Existed(service_type)) {
LOG(INFO) << "G3 AWDL StartAdvertising: Can't start advertising because "
"service_type="
@@ -145,7 +145,7 @@ bool AwdlMedium::StartAdvertising(const NsdServiceInfo& nsd_service_info) {
env.UpdateAwdlMediumForAdvertising(*this, nsd_service_info,
/*enabled=*/true);
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
advertising_info_.Add(service_type);
}
return true;
@@ -157,7 +157,7 @@ bool AwdlMedium::StopAdvertising(const NsdServiceInfo& nsd_service_info) {
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!advertising_info_.Existed(service_type)) {
LOG(INFO) << "G3 AWDL StopAdvertising: Can't stop advertising because "
"we never started advertising for service_type="
@@ -176,7 +176,7 @@ bool AwdlMedium::StartDiscovery(const std::string& service_type,
DiscoveredServiceCallback callback) {
LOG(INFO) << "G3 AWDL StartDiscovery: service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (discovering_info_.Existed(service_type)) {
LOG(INFO) << "G3 AWDL StartDiscovery: Can't start discovery because "
"service_type="
@@ -188,7 +188,7 @@ bool AwdlMedium::StartDiscovery(const std::string& service_type,
env.UpdateAwdlMediumForDiscovery(*this, std::move(callback), service_type,
true);
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
discovering_info_.Add(service_type);
}
return true;
@@ -197,7 +197,7 @@ bool AwdlMedium::StartDiscovery(const std::string& service_type,
bool AwdlMedium::StopDiscovery(const std::string& service_type) {
LOG(INFO) << "G3 AWDL StopDiscovery: service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!discovering_info_.Existed(service_type)) {
LOG(INFO) << "G3 AWDL StopDiscovery: Can't stop discovering because we "
"never started discovering.";
@@ -239,7 +239,7 @@ std::unique_ptr<api::AwdlSocket> AwdlMedium::ConnectToService(
<< ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
absl::MutexLock medium_lock(remote_medium->mutex_);
auto item = remote_medium->server_sockets_.find(socket_name);
server_socket =
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
@@ -293,12 +293,12 @@ std::unique_ptr<api::AwdlServerSocket> AwdlMedium::ListenForService(int port) {
std::string socket_name = AwdlServerSocket::GetName(
server_socket->GetIPAddress(), server_socket->GetPort());
server_socket->SetCloseNotifier([this, socket_name]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 AWDL Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
}
+13 -13
View File
@@ -38,13 +38,13 @@ namespace nearby {
namespace g3 {
BlePeripheral* BleSocket::GetRemotePeripheral() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return peripheral_;
}
std::unique_ptr<api::BleSocket> BleServerSocket::Accept(
BlePeripheral* peripheral) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return {};
while (pending_sockets_.empty()) {
cond_.Wait(&mutex_);
@@ -62,7 +62,7 @@ std::unique_ptr<api::BleSocket> BleServerSocket::Accept(
}
bool BleServerSocket::Connect(BleSocket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR) << "Failed to connect to Ble server socket: already connected";
@@ -79,17 +79,17 @@ bool BleServerSocket::Connect(BleSocket& socket) {
}
void BleServerSocket::SetCloseNotifier(absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
BleServerSocket::~BleServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception BleServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -100,11 +100,11 @@ Exception BleServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -154,7 +154,7 @@ bool BleMedium::StartAdvertising(
env.UpdateBleMediumForAdvertising(*this, peripheral, service_id,
fast_advertisement, true);
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (server_socket_ != nullptr) server_socket_.release();
server_socket_ = std::make_unique<BleServerSocket>();
@@ -177,7 +177,7 @@ bool BleMedium::StartAdvertising(
bool BleMedium::StopAdvertising(const std::string& service_id) {
LOG(INFO) << "G3 Ble StopAdvertising: service_id=" << service_id;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (advertising_info_.Empty()) {
LOG(INFO) << "G3 Ble StopAdvertising: Can't stop advertising "
"because we never started advertising.";
@@ -218,7 +218,7 @@ bool BleMedium::StartScanning(
fast_advertisement_service_uuid,
std::move(callback), true);
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
scanning_info_.service_id = service_id;
}
return true;
@@ -227,7 +227,7 @@ bool BleMedium::StartScanning(
bool BleMedium::StopScanning(const std::string& service_id) {
LOG(INFO) << "G3 Ble StopScanning: service_id=" << service_id;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (scanning_info_.Empty()) {
LOG(INFO) << "G3 Ble StopDiscovery: Can't stop scanning because "
"we never started scanning.";
@@ -276,7 +276,7 @@ std::unique_ptr<api::BleSocket> BleMedium::Connect(
<< ", service_id=" << service_id;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&medium->mutex_);
absl::MutexLock medium_lock(medium->mutex_);
remote_server_socket = medium->server_socket_.get();
if (remote_server_socket == nullptr) {
LOG(ERROR)
+34 -34
View File
@@ -82,7 +82,7 @@ api::ble_v2::BlePeripheral::UniqueId BleV2Socket::GetRemotePeripheralId() {
}
std::unique_ptr<api::ble_v2::BleSocket> BleV2ServerSocket::Accept() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
while (!closed_ && pending_sockets_.empty()) {
cond_.Wait(&mutex_);
}
@@ -100,7 +100,7 @@ std::unique_ptr<api::ble_v2::BleSocket> BleV2ServerSocket::Accept() {
}
bool BleV2ServerSocket::Connect(BleV2Socket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(WARNING) << "Failed to connect to Ble server socket: already connected";
@@ -117,17 +117,17 @@ bool BleV2ServerSocket::Connect(BleV2Socket& socket) {
}
void BleV2ServerSocket::SetCloseNotifier(absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
BleV2ServerSocket::~BleV2ServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception BleV2ServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -138,11 +138,11 @@ Exception BleV2ServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -180,7 +180,7 @@ bool BleV2Medium::StartAdvertising(
return false;
}
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
MediumEnvironment::Instance().UpdateBleV2MediumForAdvertising(
/*enabled=*/true, *this, adapter_.GetUniqueId(), advertising_data);
return true;
@@ -188,7 +188,7 @@ bool BleV2Medium::StartAdvertising(
bool BleV2Medium::StopAdvertising() {
LOG(INFO) << "G3 Ble StopAdvertising";
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
BleAdvertisementData empty_advertisement_data = {};
MediumEnvironment::Instance().UpdateBleV2MediumForAdvertising(
@@ -218,7 +218,7 @@ std::unique_ptr<BleV2Medium::AdvertisingSession> BleV2Medium::StartAdvertising(
if (callback.start_advertising_result) {
callback.start_advertising_result(absl::OkStatus());
}
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
MediumEnvironment::Instance().UpdateBleV2MediumForAdvertising(
/*enabled=*/true, *this, adapter_.GetUniqueId(), advertising_data);
return std::make_unique<AdvertisingSession>(
@@ -234,7 +234,7 @@ bool BleV2Medium::StartScanning(const Uuid& service_uuid,
ScanCallback callback) {
LOG(INFO) << "G3 Ble StartScanning";
auto internal_session_id = Prng().NextUint32();
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
MediumEnvironment::Instance().UpdateBleV2MediumForScanning(
/*enabled=*/true, service_uuid, internal_session_id,
{.advertisement_found_cb = std::move(callback.advertisement_found_cb)},
@@ -248,7 +248,7 @@ bool BleV2Medium::StartMultipleServicesScanning(
api::ble_v2::TxPowerLevel tx_power_level, ScanCallback callback) {
LOG(INFO) << "G3 Ble StartMultipleServicesScanning";
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
scan_callback_ = std::move(callback);
for (const auto& service_uuid : service_uuids) {
auto internal_session_id = Prng().NextUint32();
@@ -273,7 +273,7 @@ bool BleV2Medium::StartMultipleServicesScanning(
bool BleV2Medium::StopScanning() {
LOG(INFO) << "G3 Ble StopScanning";
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
for (auto element : scanning_internal_session_ids_) {
MediumEnvironment::Instance().UpdateBleV2MediumForScanning(
/*enabled=*/false,
@@ -291,7 +291,7 @@ std::unique_ptr<BleV2Medium::ScanningSession> BleV2Medium::StartScanning(
auto internal_session_id = Prng().NextUint32();
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
MediumEnvironment::Instance().UpdateBleV2MediumForScanning(
/*enabled=*/true, service_uuid, internal_session_id,
@@ -302,7 +302,7 @@ std::unique_ptr<BleV2Medium::ScanningSession> BleV2Medium::StartScanning(
.stop_scanning =
[this, service_uuid = service_uuid,
internal_session_id = internal_session_id]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (scanning_internal_session_ids_.find(
{service_uuid, internal_session_id}) ==
scanning_internal_session_ids_.end()) {
@@ -370,7 +370,7 @@ BleV2Medium::GattServer::CreateCharacteristic(
const Uuid& service_uuid, const Uuid& characteristic_uuid,
api::ble_v2::GattCharacteristic::Permission permission,
api::ble_v2::GattCharacteristic::Property property) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
api::ble_v2::GattCharacteristic characteristic = {
.uuid = characteristic_uuid, .service_uuid = service_uuid};
characteristics_[characteristic] = absl::NotFoundError("value not set");
@@ -379,7 +379,7 @@ BleV2Medium::GattServer::CreateCharacteristic(
bool BleV2Medium::GattServer::DiscoverBleV2MediumGattCharacteristics(
const Uuid& service_uuid, const std::vector<Uuid>& characteristic_uuids) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
auto contains = [&](const Uuid& characteristic_uuid) {
return std::find(characteristic_uuids.begin(), characteristic_uuids.end(),
characteristic_uuid) != characteristic_uuids.end();
@@ -397,7 +397,7 @@ bool BleV2Medium::GattServer::DiscoverBleV2MediumGattCharacteristics(
bool BleV2Medium::GattServer::UpdateCharacteristic(
const api::ble_v2::GattCharacteristic& characteristic,
const nearby::ByteArray& value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 Ble GattServer UpdateCharacteristic, characteristic=("
<< characteristic.service_uuid.Get16BitAsString() << ","
<< std::string(characteristic.uuid)
@@ -409,7 +409,7 @@ bool BleV2Medium::GattServer::UpdateCharacteristic(
absl::Status BleV2Medium::GattServer::NotifyCharacteristicChanged(
const api::ble_v2::GattCharacteristic& characteristic, bool confirm,
const ByteArray& new_value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 Ble GattServer NotifyCharacteristicChanged, characteristic=("
<< characteristic.service_uuid.Get16BitAsString() << ","
<< std::string(characteristic.uuid)
@@ -430,7 +430,7 @@ absl::StatusOr<ByteArray> BleV2Medium::GattServer::ReadCharacteristic(
const api::ble_v2::BlePeripheral::UniqueId remote_device_id,
const api::ble_v2::GattCharacteristic& characteristic, int offset) {
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
const auto it = characteristics_.find(characteristic);
if (it == characteristics_.end()) {
return absl::FailedPreconditionError(
@@ -479,7 +479,7 @@ bool BleV2Medium::GattServer::AddCharacteristicSubscription(
const api::ble_v2::BlePeripheral::UniqueId remote_device_id,
const api::ble_v2::GattCharacteristic& characteristic,
absl::AnyInvocable<void(absl::string_view value)> callback) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
const auto it = characteristics_.find(characteristic);
if (it != characteristics_.end()) {
subscribers_[SubscriberKey(remote_device_id, characteristic)] =
@@ -492,7 +492,7 @@ bool BleV2Medium::GattServer::AddCharacteristicSubscription(
bool BleV2Medium::GattServer::RemoveCharacteristicSubscription(
const api::ble_v2::BlePeripheral::UniqueId remote_device_id,
const api::ble_v2::GattCharacteristic& characteristic) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
const auto it = characteristics_.find(characteristic);
if (it != characteristics_.end()) {
subscribers_.erase(SubscriberKey(remote_device_id, characteristic));
@@ -503,17 +503,17 @@ bool BleV2Medium::GattServer::RemoveCharacteristicSubscription(
bool BleV2Medium::GattServer::HasCharacteristic(
const api::ble_v2::GattCharacteristic& characteristic) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return characteristics_.find(characteristic) != characteristics_.end();
}
void BleV2Medium::GattServer::Connect(GattClient* client) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
connected_clients_.push_back(client);
}
void BleV2Medium::GattServer::Disconnect(GattClient* client) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
connected_clients_.erase(
std::remove(connected_clients_.begin(), connected_clients_.end(), client),
connected_clients_.end());
@@ -521,7 +521,7 @@ void BleV2Medium::GattServer::Disconnect(GattClient* client) {
void BleV2Medium::GattServer::Stop() {
if (stopped_) return;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
stopped_ = true;
for (auto& client : connected_clients_) {
client->OnServerDisconnected();
@@ -558,7 +558,7 @@ bool BleV2Medium::GattClient::DiscoverServiceAndCharacteristics(
LOG(INFO)
<< "G3 Ble GattClient DiscoverServiceAndCharacteristics, service_uuid="
<< service_uuid.Get16BitAsString();
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!is_connection_alive_) {
return false;
}
@@ -575,7 +575,7 @@ bool BleV2Medium::GattClient::DiscoverServiceAndCharacteristics(
std::optional<api::ble_v2::GattCharacteristic>
BleV2Medium::GattClient::GetCharacteristic(const Uuid& service_uuid,
const Uuid& characteristic_uuid) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 Ble GattClient GetCharacteristic, service_uuid="
<< service_uuid.Get16BitAsString()
<< ", characteristic_uuid=" << std::string(characteristic_uuid);
@@ -609,7 +609,7 @@ BleV2Medium::GattClient::GetCharacteristic(const Uuid& service_uuid,
std::optional<std::string> BleV2Medium::GattClient::ReadCharacteristic(
const api::ble_v2::GattCharacteristic& characteristic) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!is_connection_alive_) {
return std::nullopt;
}
@@ -638,7 +638,7 @@ std::optional<std::string> BleV2Medium::GattClient::ReadCharacteristic(
bool BleV2Medium::GattClient::WriteCharacteristic(
const api::ble_v2::GattCharacteristic& characteristic,
absl::string_view value, api::ble_v2::GattClient::WriteType write_type) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!is_connection_alive_) {
return false;
}
@@ -665,7 +665,7 @@ bool BleV2Medium::GattClient::SetCharacteristicSubscription(
const api::ble_v2::GattCharacteristic& characteristic, bool enable,
absl::AnyInvocable<void(absl::string_view value)>
on_characteristic_changed_cb) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!is_connection_alive_) {
return false;
}
@@ -713,12 +713,12 @@ std::unique_ptr<api::ble_v2::BleServerSocket> BleV2Medium::OpenServerSocket(
const std::string& service_id) {
auto server_socket = std::make_unique<BleV2ServerSocket>(&GetAdapter());
server_socket->SetCloseNotifier([this, service_id]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.erase(service_id);
});
LOG(INFO) << "G3 Ble Adding server socket: medium=" << this
<< ", service_id=" << service_id;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.insert({service_id, server_socket.get()});
return server_socket;
}
@@ -751,7 +751,7 @@ std::unique_ptr<api::ble_v2::BleSocket> BleV2Medium::Connect(
<< ", service_id=" << service_id;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
absl::MutexLock medium_lock(remote_medium->mutex_);
auto item = remote_medium->server_sockets_.find(service_id);
remote_server_socket =
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
@@ -86,7 +86,7 @@ bool BluetoothAdapter::SetStatus(Status status) {
bool enabled = status == Status::kEnabled;
std::string name;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
enabled_ = enabled;
name = name_;
mode = mode_;
@@ -97,12 +97,12 @@ bool BluetoothAdapter::SetStatus(Status status) {
}
bool BluetoothAdapter::IsEnabled() const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return enabled_;
}
BluetoothAdapter::ScanMode BluetoothAdapter::GetScanMode() const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return mode_;
}
@@ -110,7 +110,7 @@ bool BluetoothAdapter::SetScanMode(BluetoothAdapter::ScanMode mode) {
bool enabled;
std::string name;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
mode_ = mode;
name = name_;
enabled = enabled_;
@@ -122,7 +122,7 @@ bool BluetoothAdapter::SetScanMode(BluetoothAdapter::ScanMode mode) {
}
std::string BluetoothAdapter::GetName() const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return name_;
}
@@ -136,7 +136,7 @@ bool BluetoothAdapter::SetName(absl::string_view name,
BluetoothAdapter::ScanMode mode;
bool enabled;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
name_ = std::string(name);
enabled = enabled_;
mode = mode_;
@@ -47,7 +47,7 @@ BluetoothDevice* BluetoothSocket::GetRemoteDevice() {
}
std::unique_ptr<api::BluetoothSocket> BluetoothServerSocket::Accept() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
while (!closed_ && pending_sockets_.empty()) {
cond_.Wait(&mutex_);
}
@@ -64,7 +64,7 @@ std::unique_ptr<api::BluetoothSocket> BluetoothServerSocket::Accept() {
}
bool BluetoothServerSocket::Connect(BluetoothSocket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR) << "Failed to connect to BT server socket: already connected";
@@ -82,17 +82,17 @@ bool BluetoothServerSocket::Connect(BluetoothSocket& socket) {
void BluetoothServerSocket::SetCloseNotifier(
absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
BluetoothServerSocket::~BluetoothServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception BluetoothServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -103,11 +103,11 @@ Exception BluetoothServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -199,7 +199,7 @@ std::unique_ptr<api::BluetoothSocket> BluetoothClassicMedium::ConnectToService(
<< ", uuid=" << service_uuid;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&medium->mutex_);
absl::MutexLock medium_lock(medium->mutex_);
auto item = medium->sockets_.find(service_uuid);
server_socket = item != medium->sockets_.end() ? item->second : nullptr;
if (server_socket == nullptr) {
@@ -245,11 +245,11 @@ BluetoothClassicMedium::ListenForService(const std::string& service_name,
const std::string& service_uuid) {
auto socket = std::make_unique<BluetoothServerSocket>(GetAdapter());
socket->SetCloseNotifier([this, uuid = service_uuid]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
sockets_.erase(uuid);
});
LOG(INFO) << "Adding service: medium=" << this << ", uuid=" << service_uuid;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
sockets_.emplace(service_uuid, socket.get());
return socket;
}
@@ -44,58 +44,58 @@ PreferencesManager::PreferencesManager(FilePath preferences_dir) {
}
bool PreferencesManager::Set(absl::string_view key, const json& value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetValue(key, value);
}
bool PreferencesManager::SetBoolean(absl::string_view key, bool value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetValue(key, value);
}
bool PreferencesManager::SetInteger(absl::string_view key, int value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetValue(key, value);
}
bool PreferencesManager::SetInt64(absl::string_view key, int64_t value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetValue(key, value);
}
bool PreferencesManager::SetString(absl::string_view key,
absl::string_view value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetValue(key, absl::StrCat(value));
}
bool PreferencesManager::SetBooleanArray(absl::string_view key,
absl::Span<const bool> value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetArrayValue(key, value);
}
bool PreferencesManager::SetIntegerArray(absl::string_view key,
absl::Span<const int> value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetArrayValue(key, value);
}
bool PreferencesManager::SetInt64Array(absl::string_view key,
absl::Span<const int64_t> value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetArrayValue(key, value);
}
bool PreferencesManager::SetStringArray(absl::string_view key,
absl::Span<const std::string> value) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return SetArrayValue(key, value);
}
bool PreferencesManager::SetTime(absl::string_view key, absl::Time value) {
// Save time as nanos
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
int64_t tt = absl::ToUnixNanos(value);
if (value_[absl::StrCat(key)] == tt) {
return false;
@@ -108,61 +108,61 @@ bool PreferencesManager::SetTime(absl::string_view key, absl::Time value) {
// Get JSON value.
json PreferencesManager::Get(absl::string_view key,
const json& default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetValue(key, default_value);
}
bool PreferencesManager::GetBoolean(absl::string_view key,
bool default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetValue(key, default_value);
}
int PreferencesManager::GetInteger(absl::string_view key,
int default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetValue(key, default_value);
}
int64_t PreferencesManager::GetInt64(absl::string_view key,
int64_t default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetValue(key, default_value);
}
std::string PreferencesManager::GetString(
absl::string_view key, const std::string& default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetValue(key, default_value);
}
std::vector<bool> PreferencesManager::GetBooleanArray(
absl::string_view key, absl::Span<const bool> default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetArrayValue(key, default_value);
}
std::vector<int> PreferencesManager::GetIntegerArray(
absl::string_view key, absl::Span<const int> default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetArrayValue(key, default_value);
}
std::vector<int64_t> PreferencesManager::GetInt64Array(
absl::string_view key, absl::Span<const int64_t> default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetArrayValue(key, default_value);
}
std::vector<std::string> PreferencesManager::GetStringArray(
absl::string_view key, absl::Span<const std::string> default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return GetArrayValue(key, default_value);
}
absl::Time PreferencesManager::GetTime(absl::string_view key,
absl::Time default_value) const {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
auto result = value_.find(absl::StrCat(key));
if (result == value_.end()) {
return default_value;
@@ -173,7 +173,7 @@ absl::Time PreferencesManager::GetTime(absl::string_view key,
// Removes preferences
void PreferencesManager::Remove(absl::string_view key) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
value_.erase(absl::StrCat(key));
}
@@ -100,7 +100,7 @@ std::shared_ptr<api::Cancelable> ScheduledExecutor::Schedule(
MediumEnvironment::Instance().GetSimulatedClock();
if (fake_clock.has_value()) {
absl::Time trigger_time = (*fake_clock)->Now() + delay;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
tasks_.insert(std::pair<absl::Time, std::unique_ptr<Runnable>>(
trigger_time, std::make_unique<Runnable>(std::move(task))));
} else {
@@ -119,7 +119,7 @@ void ScheduledExecutor::RunReadyTasks() {
return;
}
absl::Time current_time = (*fake_clock)->Now();
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
for (auto it = tasks_.begin(); it != tasks_.end();) {
if (it->first <= current_time) {
executor_.Execute(
@@ -42,7 +42,7 @@ std::string WifiDirectServerSocket::GetName(absl::string_view ip_address,
}
std::unique_ptr<api::WifiDirectSocket> WifiDirectServerSocket::Accept() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
while (!closed_ && pending_sockets_.empty()) {
cond_.Wait(&mutex_);
}
@@ -60,7 +60,7 @@ std::unique_ptr<api::WifiDirectSocket> WifiDirectServerSocket::Accept() {
}
bool WifiDirectServerSocket::Connect(WifiDirectSocket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR)
@@ -79,17 +79,17 @@ bool WifiDirectServerSocket::Connect(WifiDirectSocket& socket) {
void WifiDirectServerSocket::SetCloseNotifier(
absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
WifiDirectServerSocket::~WifiDirectServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception WifiDirectServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -100,11 +100,11 @@ Exception WifiDirectServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -123,7 +123,7 @@ WifiDirectMedium::~WifiDirectMedium() {
bool WifiDirectMedium::StartWifiDirect(
WifiDirectCredentials* wifi_direct_credentials) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
std::string ssid = absl::StrCat("DIRECT-", Prng().NextUint32());
wifi_direct_credentials->SetSSID(ssid);
@@ -141,7 +141,7 @@ bool WifiDirectMedium::StartWifiDirect(
}
bool WifiDirectMedium::StopWifiDirect() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 StopWifiDirect GO";
auto& env = MediumEnvironment::Instance();
@@ -153,7 +153,7 @@ bool WifiDirectMedium::StopWifiDirect() {
bool WifiDirectMedium::ConnectWifiDirect(
WifiDirectCredentials* wifi_direct_credentials) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 ConnectWifiDirect : ssid="
<< wifi_direct_credentials->GetSSID()
@@ -176,7 +176,7 @@ bool WifiDirectMedium::ConnectWifiDirect(
}
bool WifiDirectMedium::DisconnectWifiDirect() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 DisconnectWifiDirect";
@@ -206,7 +206,7 @@ std::unique_ptr<api::WifiDirectSocket> WifiDirectMedium::ConnectToService(
<< ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
absl::MutexLock medium_lock(remote_medium->mutex_);
auto item = remote_medium->server_sockets_.find(socket_name);
server_socket =
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
@@ -251,12 +251,12 @@ std::unique_ptr<api::WifiDirectServerSocket> WifiDirectMedium::ListenForService(
std::string socket_name = WifiDirectServerSocket::GetName(
server_socket->GetIPAddress(), server_socket->GetPort());
server_socket->SetCloseNotifier([this, socket_name]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 WifiDirect GO Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
}
@@ -43,7 +43,7 @@ std::string WifiHotspotServerSocket::GetName(absl::string_view ip_address,
}
std::unique_ptr<api::WifiHotspotSocket> WifiHotspotServerSocket::Accept() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
while (!closed_ && pending_sockets_.empty()) {
cond_.Wait(&mutex_);
}
@@ -61,7 +61,7 @@ std::unique_ptr<api::WifiHotspotSocket> WifiHotspotServerSocket::Accept() {
}
bool WifiHotspotServerSocket::Connect(WifiHotspotSocket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR)
@@ -80,17 +80,17 @@ bool WifiHotspotServerSocket::Connect(WifiHotspotSocket& socket) {
void WifiHotspotServerSocket::SetCloseNotifier(
absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
WifiHotspotServerSocket::~WifiHotspotServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception WifiHotspotServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -101,11 +101,11 @@ Exception WifiHotspotServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -124,7 +124,7 @@ WifiHotspotMedium::~WifiHotspotMedium() {
bool WifiHotspotMedium::StartWifiHotspot(
HotspotCredentials* hotspot_credentials) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!IsInterfaceValid()) return false;
@@ -145,7 +145,7 @@ bool WifiHotspotMedium::StartWifiHotspot(
}
bool WifiHotspotMedium::StopWifiHotspot() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 StopWifiHotspot";
if (!IsInterfaceValid()) return false;
@@ -159,7 +159,7 @@ bool WifiHotspotMedium::StopWifiHotspot() {
bool WifiHotspotMedium::ConnectWifiHotspot(
HotspotCredentials* hotspot_credentials) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 ConnectWifiHotspot: ssid=" << hotspot_credentials->GetSSID()
<< ", password:" << hotspot_credentials->GetPassword();
@@ -181,7 +181,7 @@ bool WifiHotspotMedium::ConnectWifiHotspot(
}
bool WifiHotspotMedium::DisconnectWifiHotspot() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
LOG(INFO) << "G3 DisconnectWifiHotspot";
@@ -211,7 +211,7 @@ std::unique_ptr<api::WifiHotspotSocket> WifiHotspotMedium::ConnectToService(
<< remote_medium << ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
absl::MutexLock medium_lock(remote_medium->mutex_);
auto item = remote_medium->server_sockets_.find(socket_name);
server_socket =
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
@@ -268,12 +268,12 @@ WifiHotspotMedium::ListenForService(int port) {
std::string socket_name = WifiHotspotServerSocket::GetName(
server_socket->GetIPAddress(), server_socket->GetPort());
server_socket->SetCloseNotifier([this, socket_name]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 WifiHotspot Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
}
+16 -16
View File
@@ -49,7 +49,7 @@ std::string WifiLanServerSocket::GetName(const std::string& ip_address,
}
std::unique_ptr<api::WifiLanSocket> WifiLanServerSocket::Accept() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
while (!closed_ && pending_sockets_.empty()) {
cond_.Wait(&mutex_);
}
@@ -67,7 +67,7 @@ std::unique_ptr<api::WifiLanSocket> WifiLanServerSocket::Accept() {
}
bool WifiLanServerSocket::Connect(WifiLanSocket& socket) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR)
@@ -86,17 +86,17 @@ bool WifiLanServerSocket::Connect(WifiLanSocket& socket) {
void WifiLanServerSocket::SetCloseNotifier(
absl::AnyInvocable<void()> notifier) {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
close_notifier_ = std::move(notifier);
}
WifiLanServerSocket::~WifiLanServerSocket() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
DoClose();
}
Exception WifiLanServerSocket::Close() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
return DoClose();
}
@@ -107,11 +107,11 @@ Exception WifiLanServerSocket::DoClose() {
cond_.SignalAll();
if (close_notifier_) {
auto notifier = std::move(close_notifier_);
mutex_.Unlock();
mutex_.unlock();
// Notifier may contain calls to public API, and may cause deadlock, if
// mutex_ is held during the call.
notifier();
mutex_.Lock();
mutex_.lock();
}
}
return {Exception::kSuccess};
@@ -134,7 +134,7 @@ bool WifiLanMedium::StartAdvertising(const NsdServiceInfo& nsd_service_info) {
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (advertising_info_.Existed(service_type)) {
LOG(INFO)
<< "G3 WifiLan StartAdvertising: Can't start advertising because "
@@ -147,7 +147,7 @@ bool WifiLanMedium::StartAdvertising(const NsdServiceInfo& nsd_service_info) {
env.UpdateWifiLanMediumForAdvertising(*this, nsd_service_info,
/*enabled=*/true);
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
advertising_info_.Add(service_type);
}
return true;
@@ -160,7 +160,7 @@ bool WifiLanMedium::StopAdvertising(const NsdServiceInfo& nsd_service_info) {
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!advertising_info_.Existed(service_type)) {
LOG(INFO) << "G3 WifiLan StopAdvertising: Can't stop advertising because "
"we never started advertising for service_type="
@@ -179,7 +179,7 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_type,
DiscoveredServiceCallback callback) {
LOG(INFO) << "G3 WifiLan StartDiscovery: service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (discovering_info_.Existed(service_type)) {
LOG(INFO) << "G3 WifiLan StartDiscovery: Can't start discovery because "
"service_type="
@@ -191,7 +191,7 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_type,
env.UpdateWifiLanMediumForDiscovery(*this, std::move(callback), service_type,
true);
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
discovering_info_.Add(service_type);
}
return true;
@@ -200,7 +200,7 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_type,
bool WifiLanMedium::StopDiscovery(const std::string& service_type) {
LOG(INFO) << "G3 WifiLan StopDiscovery: service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
if (!discovering_info_.Existed(service_type)) {
LOG(INFO)
<< "G3 WifiLan StopDiscovery: Can't stop discovering because we "
@@ -243,7 +243,7 @@ std::unique_ptr<api::WifiLanSocket> WifiLanMedium::ConnectToService(
<< ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
absl::MutexLock medium_lock(remote_medium->mutex_);
auto item = remote_medium->server_sockets_.find(socket_name);
server_socket =
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
@@ -290,12 +290,12 @@ std::unique_ptr<api::WifiLanServerSocket> WifiLanMedium::ListenForService(
std::string socket_name = WifiLanServerSocket::GetName(
server_socket->GetIPAddress(), server_socket->GetPort());
server_socket->SetCloseNotifier([this, socket_name]() {
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 WifiLan Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
absl::MutexLock lock(mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
}