Format all the files in CL786733783

PiperOrigin-RevId: 786873870
This commit is contained in:
hai007
2025-07-24 16:25:18 -07:00
committed by Copybara-Service
parent b3d9a930ca
commit 00a2999269
87 changed files with 1406 additions and 1719 deletions
-1
View File
@@ -121,7 +121,6 @@ cc_test(
"//internal/platform/implementation/g3", # build_cleaner: keep
"@com_github_protobuf_matchers//protobuf-matchers",
"@com_google_absl//absl/strings",
"@com_google_absl//absl/time",
"@com_google_googletest//:gtest_main",
],
)
+1 -2
View File
@@ -283,8 +283,7 @@ void NcCloseService(NC_INSTANCE instance) {
}
nc_context->core->StopAllEndpoints([](::nearby::connections::Status status) {
LOG(INFO) << "Stopping all endpoints with status "
<< status.ToString();
LOG(INFO) << "Stopping all endpoints with status " << status.ToString();
});
kNcContextMap->erase(nc_context->core);
-1
View File
@@ -167,7 +167,6 @@ TEST(CoreTest, DisconnectFailsWithEmptyEndpoint) {
EXPECT_EQ(final_status.value, Status::kEndpointUnknown);
}
TEST(CoreTest, SendPayloadCallsScRouter) {
MockServiceControllerRouter mock_controller;
// Called when Core is destroyed.
+19 -26
View File
@@ -93,8 +93,7 @@ void ListenerInitiatedCB(
NC_INSTANCE instance, int endpoint_id,
const NC_CONNECTION_RESPONSE_INFO *connection_response_info,
void *context) {
LOG(INFO) << "Advertising initiated: id="
<< GetEndpointIdString(endpoint_id);
LOG(INFO) << "Advertising initiated: id=" << GetEndpointIdString(endpoint_id);
Dart_CObject dart_object_endpoint_id = {
.type = Dart_CObject_Type::Dart_CObject_kInt32,
@@ -127,8 +126,7 @@ void ListenerInitiatedCB(
}
void ListenerAcceptedCB(NC_INSTANCE instance, int endpoint_id, void *context) {
LOG(INFO) << "Advertising accepted: id="
<< GetEndpointIdString(endpoint_id);
LOG(INFO) << "Advertising accepted: id=" << GetEndpointIdString(endpoint_id);
Dart_CObject dart_object_accepted;
dart_object_accepted.type = Dart_CObject_kInt32;
dart_object_accepted.value.as_int32 = endpoint_id;
@@ -142,8 +140,7 @@ void ListenerAcceptedCB(NC_INSTANCE instance, int endpoint_id, void *context) {
void ListenerRejectedCB(NC_INSTANCE instance, int endpoint_id, NC_STATUS status,
void *context) {
LOG(INFO) << "Advertising rejected: id="
<< GetEndpointIdString(endpoint_id);
LOG(INFO) << "Advertising rejected: id=" << GetEndpointIdString(endpoint_id);
Dart_CObject dart_object_rejected;
dart_object_rejected.type = Dart_CObject_kInt32;
dart_object_rejected.value.as_int32 = endpoint_id;
@@ -158,7 +155,7 @@ void ListenerRejectedCB(NC_INSTANCE instance, int endpoint_id, NC_STATUS status,
void ListenerDisconnectedCB(NC_INSTANCE instance, int endpoint_id,
void *context) {
LOG(INFO) << "Advertising disconnected: id="
<< GetEndpointIdString(endpoint_id);
<< GetEndpointIdString(endpoint_id);
Dart_CObject dart_object_disconnected;
dart_object_disconnected.type = Dart_CObject_kInt32;
dart_object_disconnected.value.as_int32 = endpoint_id;
@@ -173,7 +170,7 @@ void ListenerDisconnectedCB(NC_INSTANCE instance, int endpoint_id,
void ListenerBandwidthChangedCB(NC_INSTANCE instance, int endpoint_id,
NC_MEDIUM medium, void *context) {
LOG(INFO) << "Advertising bandwidth changed: id="
<< GetEndpointIdString(endpoint_id);
<< GetEndpointIdString(endpoint_id);
Dart_CObject dart_object_bandwidth_changed;
dart_object_bandwidth_changed.type = Dart_CObject_kInt32;
@@ -189,10 +186,9 @@ void ListenerBandwidthChangedCB(NC_INSTANCE instance, int endpoint_id,
void ListenerEndpointFoundCB(NC_INSTANCE instance, int endpoint_id,
const NC_DATA *endpoint_info,
const NC_DATA *service_id, void *context) {
LOG(INFO) << "Device discovered: id="
<< GetEndpointIdString(endpoint_id);
LOG(INFO) << "Device discovered: id=" << GetEndpointIdString(endpoint_id);
LOG(INFO) << "Device discovered: service_id="
<< std::string(service_id->data, service_id->size);
<< std::string(service_id->data, service_id->size);
std::string endpoint_info_str = absl::BytesToHexString(
absl::string_view(endpoint_info->data, endpoint_info->size));
@@ -244,7 +240,7 @@ void ListenerEndpointDistanceChangedCB(NC_INSTANCE instance, int endpoint_id,
void *context) {
(void)distance_info; // Avoid unused parameter warning
LOG(INFO) << "Device distance changed: id="
<< GetEndpointIdString(endpoint_id);
<< GetEndpointIdString(endpoint_id);
Dart_CObject dart_object_distance_changed;
dart_object_distance_changed.type = Dart_CObject_kInt32;
dart_object_distance_changed.value.as_int32 = endpoint_id;
@@ -259,9 +255,8 @@ void ListenerEndpointDistanceChangedCB(NC_INSTANCE instance, int endpoint_id,
void ListenerPayloadCB(NC_INSTANCE instance, int endpoint_id,
const NC_PAYLOAD *payload, void *context) {
LOG(INFO) << "Payload callback called. id: "
<< GetEndpointIdString(endpoint_id)
<< ", payload_id: " << payload->id
<< ", type: " << payload->type;
<< GetEndpointIdString(endpoint_id)
<< ", payload_id: " << payload->id << ", type: " << payload->type;
Dart_CObject dart_object_endpoint_id;
dart_object_endpoint_id.type = Dart_CObject_kInt32;
@@ -361,12 +356,12 @@ void ListenerPayloadProgressCB(
NC_INSTANCE instance, int endpoint_id,
const NC_PAYLOAD_PROGRESS_INFO *payload_progress_info, void *context) {
LOG(INFO) << "Payload progress callback called. id: "
<< GetEndpointIdString(endpoint_id)
<< ", payload_id: " << payload_progress_info->id
<< ", bytes transferred: "
<< payload_progress_info->bytes_transferred
<< ", total: " << payload_progress_info->total_bytes
<< ", status: " << payload_progress_info->status;
<< GetEndpointIdString(endpoint_id)
<< ", payload_id: " << payload_progress_info->id
<< ", bytes transferred: "
<< payload_progress_info->bytes_transferred
<< ", total: " << payload_progress_info->total_bytes
<< ", status: " << payload_progress_info->status;
Dart_CObject dart_object_endpoint_id;
dart_object_endpoint_id.type = Dart_CObject_kInt32;
dart_object_endpoint_id.value.as_int32 = endpoint_id;
@@ -449,8 +444,7 @@ void EnableBleV2Dart(NC_INSTANCE instance, int64_t enable,
status);
},
nullptr);
LOG(INFO) << "EnableBleV2Dart callback is called with enable="
<< enable;
LOG(INFO) << "EnableBleV2Dart callback is called with enable=" << enable;
}
void StartAdvertisingDart(NC_INSTANCE instance, DataDart service_id,
@@ -784,9 +778,8 @@ void SendPayloadDart(NC_INSTANCE instance, int endpoint_id,
}
case PAYLOAD_TYPE_FILE:
LOG(INFO) << "File name: "
<< std::string(payload_dart.data.data,
payload_dart.data.size)
<< ", size " << payload_dart.size;
<< std::string(payload_dart.data.data, payload_dart.data.size)
<< ", size " << payload_dart.size;
std::string file_name_str(payload_dart.data.data, payload_dart.data.size);
NC_PAYLOAD payload{};
@@ -45,7 +45,7 @@ namespace analytics {
namespace {
// const char kVersion_1_0_0[] = "v1.0.0";
const char kVersion [] = "v1.5.0";
const char kVersion[] = "v1.5.0";
constexpr absl::string_view kOnStartClientSession = "OnStartClientSession";
const absl::Duration kConnectionTokenMaxLife = absl::Hours(24);
@@ -164,8 +164,7 @@ OperationResultCategory ConvertToOperationResultCategory(
AnalyticsRecorder::AnalyticsRecorder(EventLogger *event_logger)
: event_logger_(event_logger) {
LOG(INFO) << "Start AnalyticsRecorder ctor event_logger_="
<< event_logger_;
LOG(INFO) << "Start AnalyticsRecorder ctor event_logger_=" << event_logger_;
LogStartSession();
}
@@ -173,13 +172,11 @@ AnalyticsRecorder::AnalyticsRecorder(EventLogger *event_logger,
bool no_record_time_millis)
: event_logger_(event_logger),
no_record_time_millis_(no_record_time_millis) {
LOG(INFO) << "Start AnalyticsRecorder ctor event_logger_="
<< event_logger_;
LOG(INFO) << "Start AnalyticsRecorder ctor event_logger_=" << event_logger_;
LogStartSession();
}
AnalyticsRecorder::~AnalyticsRecorder() {
}
AnalyticsRecorder::~AnalyticsRecorder() = default;
bool AnalyticsRecorder::IsSessionLogged() {
MutexLock lock(&mutex_);
@@ -206,7 +203,7 @@ void AnalyticsRecorder::OnStartAdvertising(
}
if (!strategy.IsValid()) {
LOG(INFO) << "AnalyticsRecorder OnStartAdvertising with unknown "
"strategy, bail out.";
"strategy, bail out.";
return;
}
// Initialize/update a StrategySession.
@@ -268,7 +265,7 @@ void AnalyticsRecorder::OnStartDiscovery(
}
if (!strategy.IsValid()) {
LOG(INFO) << "AnalyticsRecorder OnStartDiscovery unknown "
"strategy enter, bail out.";
"strategy enter, bail out.";
return;
}
@@ -347,7 +344,7 @@ void AnalyticsRecorder::OnEndpointFound(Medium medium) {
}
if (current_discovery_phase_ == nullptr) {
LOG(INFO) << "Unable to record discovered endpoint due to null "
"current_discovery_phase_";
"current_discovery_phase_";
return;
}
ConnectionsLog::DiscoveredEndpoint *discovered_endpoint =
@@ -454,7 +451,7 @@ void AnalyticsRecorder::OnIncomingConnectionAttempt(
}
if (current_strategy_session_ == nullptr) {
LOG(INFO) << "Unable to record incoming connection attempt due to "
"null current_strategy_session_";
"null current_strategy_session_";
return;
}
@@ -533,7 +530,7 @@ void AnalyticsRecorder::OnOutgoingConnectionAttempt(
}
if (current_strategy_session_ == nullptr) {
LOG(INFO) << "Unable to record outgoing connection attempt due to "
"null current_strategy_session_";
"null current_strategy_session_";
return;
}
@@ -649,10 +646,10 @@ void AnalyticsRecorder::OnConnectionClosed(const std::string &endpoint_id,
SafeDisconnectionResult result) {
MutexLock lock(&mutex_);
LOG(INFO) << __func__
<< ": OnConnectionClosed is called with endpoint_id:"
<< endpoint_id << ", medium:" << Medium_Name(medium)
<< ", reason:" << DisconnectionReason_Name(reason)
<< ", result:" << result;
<< ": OnConnectionClosed is called with endpoint_id:" << endpoint_id
<< ", medium:" << Medium_Name(medium)
<< ", reason:" << DisconnectionReason_Name(reason)
<< ", result:" << result;
if (!CanRecordAnalyticsLocked("OnConnectionClosed")) {
return;
@@ -660,8 +657,7 @@ void AnalyticsRecorder::OnConnectionClosed(const std::string &endpoint_id,
if (current_strategy_session_ == nullptr) {
VLOG(1) << "AnalyticsRecorder CanRecordAnalytics Unexpected call "
<< __func__
<< " since current_strategy_session_ is required.";
<< __func__ << " since current_strategy_session_ is required.";
return;
}
@@ -887,7 +883,7 @@ void AnalyticsRecorder::OnErrorCode(const ErrorCodeParams &params) {
connections_log.set_allocated_error_code(error_code.release());
VLOG(1) << "AnalyticsRecorder LogErrorCode connections_log="
<< connections_log.DebugString(); // NOLINT
<< connections_log.DebugString(); // NOLINT
event_logger_->Log(connections_log);
}
@@ -895,10 +891,9 @@ void AnalyticsRecorder::OnErrorCode(const ErrorCodeParams &params) {
void AnalyticsRecorder::LogStartSession() {
MutexLock lock(&mutex_);
if (start_client_session_was_logged_) {
LOG(WARNING)
<< "AnalyticsRecorder CanRecordAnalytics Unexpected call "
<< kOnStartClientSession
<< " after start client session has already been logged.";
LOG(WARNING) << "AnalyticsRecorder CanRecordAnalytics Unexpected call "
<< kOnStartClientSession
<< " after start client session has already been logged.";
return;
}
@@ -1011,15 +1006,14 @@ OperationResultCode AnalyticsRecorder::GetChannelIoErrorResultCodeFromMedium(
bool AnalyticsRecorder::CanRecordAnalyticsLocked(
absl::string_view method_name) {
VLOG(1) << "AnalyticsRecorder LogEvent " << method_name
<< " is calling.";
VLOG(1) << "AnalyticsRecorder LogEvent " << method_name << " is calling.";
if (event_logger_ == nullptr) {
return false;
}
if (session_was_logged_) {
VLOG(1) << "AnalyticsRecorder CanRecordAnalytics Unexpected call "
<< method_name << " after session has already been logged.";
<< method_name << " after session has already been logged.";
return false;
}
@@ -1036,7 +1030,7 @@ void AnalyticsRecorder::LogClientSessionLocked() {
connections_log.set_version(kVersion);
VLOG(1) << "AnalyticsRecorder LogClientSession connections_log="
<< connections_log.DebugString(); // NOLINT
<< connections_log.DebugString(); // NOLINT
event_logger_->Log(connections_log);
client_session_ = nullptr;
@@ -1048,7 +1042,7 @@ void AnalyticsRecorder::LogEvent(EventType event_type) {
connections_log.set_version(kVersion);
VLOG(1) << "AnalyticsRecorder LogEvent connections_log="
<< connections_log.DebugString(); // NOLINT
<< connections_log.DebugString(); // NOLINT
event_logger_->Log(connections_log);
}
@@ -1092,7 +1086,7 @@ void AnalyticsRecorder::RecordAdvertisingPhaseDurationAndReasonLocked(
bool on_stop) const {
if (current_advertising_phase_ == nullptr) {
LOG(INFO) << "Unable to record advertising phase duration due to "
"null current_advertising_phase_";
"null current_advertising_phase_";
return;
}
if (!current_advertising_phase_->has_duration_millis() &&
@@ -1123,7 +1117,7 @@ void AnalyticsRecorder::FinishAdvertisingPhaseLocked() {
*std::move(current_advertising_phase_);
} else {
LOG(INFO) << "Unable to record advertising phase due to null "
"current_strategy_session_";
"current_strategy_session_";
}
}
incoming_connection_requests_.clear();
@@ -1133,7 +1127,7 @@ void AnalyticsRecorder::RecordDiscoveryPhaseDurationAndReasonLocked(
bool on_stop) const {
if (current_discovery_phase_ == nullptr) {
LOG(INFO) << "Unable to record discovery phase duration due to "
"null current_discovery_phase_";
"null current_discovery_phase_";
return;
}
if (!current_discovery_phase_->has_duration_millis() &&
@@ -1165,7 +1159,7 @@ void AnalyticsRecorder::FinishDiscoveryPhaseLocked() {
*std::move(current_discovery_phase_);
} else {
LOG(INFO) << "Unable to record discovery phase due to null "
"current_strategy_session_";
"current_strategy_session_";
}
}
outgoing_connection_requests_.clear();
@@ -1174,9 +1168,8 @@ void AnalyticsRecorder::FinishDiscoveryPhaseLocked() {
bool AnalyticsRecorder::UpdateAdvertiserConnectionRequestLocked(
ConnectionsLog::ConnectionRequest *request) {
if (current_advertising_phase_ == nullptr) {
LOG(INFO)
<< "Unable to record advertiser connection request due to null "
"current_advertising_phase_";
LOG(INFO) << "Unable to record advertiser connection request due to null "
"current_advertising_phase_";
return false;
}
if (BothEndpointsRespondedLocked(request)) {
@@ -1195,7 +1188,7 @@ bool AnalyticsRecorder::UpdateDiscovererConnectionRequestLocked(
ConnectionsLog::ConnectionRequest *request) {
if (current_discovery_phase_ == nullptr) {
LOG(INFO) << "Unable to record discoverer connection request due "
"to null current_discovery_phase_.";
"to null current_discovery_phase_.";
return false;
}
if (BothEndpointsRespondedLocked(request) ||
@@ -1324,7 +1317,7 @@ void AnalyticsRecorder::FinishUpgradeAttemptLocked(
OperationResultCode operation_result_code, bool erase_item) {
if (current_strategy_session_ == nullptr) {
LOG(INFO) << "Unable to record upgrade attempt due to null "
"current_strategy_session_";
"current_strategy_session_";
return;
}
// Add the BandwidthUpgradeAttempt in the current StrategySession.
@@ -1455,9 +1448,8 @@ ConnectionsLog::Payload AnalyticsRecorder::PendingPayload::GetProtoPayload(
void AnalyticsRecorder::LogicalConnection::PhysicalConnectionEstablished(
Medium medium, const std::string &connection_token) {
if (current_medium_ != UNKNOWN_MEDIUM) {
LOG(WARNING)
<< "Unexpected call to PhysicalConnectionEstablished while "
"AnalyticsRecorder still has an active current medium.";
LOG(WARNING) << "Unexpected call to PhysicalConnectionEstablished while "
"AnalyticsRecorder still has an active current medium.";
}
auto established_connection =
@@ -1483,15 +1475,14 @@ void AnalyticsRecorder::LogicalConnection::PhysicalConnectionEstablished(
void AnalyticsRecorder::LogicalConnection::PhysicalConnectionClosed(
Medium medium, DisconnectionReason reason, SafeDisconnectionResult result) {
if (current_medium_ == UNKNOWN_MEDIUM) {
LOG(WARNING)
<< "Unexpected call to PhysicalConnectionClosed() for medium "
<< Medium_Name(medium)
<< " while AnalyticsRecorder has no active current medium";
LOG(WARNING) << "Unexpected call to PhysicalConnectionClosed() for medium "
<< Medium_Name(medium)
<< " while AnalyticsRecorder has no active current medium";
} else if (current_medium_ != medium) {
LOG(WARNING)
<< "Unexpected call to PhysicalConnectionClosed() for medium "
<< Medium_Name(medium) << "while AnalyticsRecorder has active medium "
<< Medium_Name(current_medium_);
LOG(WARNING) << "Unexpected call to PhysicalConnectionClosed() for medium "
<< Medium_Name(medium)
<< "while AnalyticsRecorder has active medium "
<< Medium_Name(current_medium_);
}
auto it = physical_connections_.find(medium);
@@ -1506,11 +1497,11 @@ void AnalyticsRecorder::LogicalConnection::PhysicalConnectionClosed(
ConnectionsLog::EstablishedConnection *established_connection =
it->second.get();
if (established_connection->has_disconnection_reason()) {
LOG(WARNING)
<< "Unexpected call to physicalConnectionClosed() for medium "
<< Medium_Name(medium) << " which already has disconnection reason "
<< DisconnectionReason_Name(
established_connection->disconnection_reason());
LOG(WARNING) << "Unexpected call to physicalConnectionClosed() for medium "
<< Medium_Name(medium)
<< " which already has disconnection reason "
<< DisconnectionReason_Name(
established_connection->disconnection_reason());
return;
}
FinishPhysicalConnection(established_connection, reason, result);
@@ -1582,7 +1573,7 @@ void AnalyticsRecorder::LogicalConnection::IncomingPayloadDone(
OperationResultCode operation_result_code) {
if (current_medium_ == UNKNOWN_MEDIUM) {
LOG(WARNING) << "Unexpected call to incomingPayloadDone() while "
"AnalyticsRecorder has no active current medium.";
"AnalyticsRecorder has no active current medium.";
return;
}
auto it = physical_connections_.find(current_medium_);
@@ -1621,7 +1612,7 @@ void AnalyticsRecorder::LogicalConnection::OutgoingPayloadDone(
OperationResultCode operation_result_code) {
if (current_medium_ == UNKNOWN_MEDIUM) {
LOG(WARNING) << "Unexpected call to outgoingPayloadDone() while "
"AnalyticsRecorder has no active current medium.";
"AnalyticsRecorder has no active current medium.";
return;
}
auto it = physical_connections_.find(current_medium_);
@@ -56,12 +56,10 @@ void ThroughputRecorder::Start(PayloadType payload_type,
(payload_direction == PayloadDirection::INCOMING_PAYLOAD) ? "; Receive"
: "; Send";
LOG(INFO) << "Start TP profiling for payload_id:" << payload_id_
<< direction;
LOG(INFO) << "Start TP profiling for payload_id:" << payload_id_ << direction;
if (payload_type == PayloadType::kUnknown) {
LOG(INFO)
<< "Ignore ThroughputRecorder::start for Unknown Payload type";
LOG(INFO) << "Ignore ThroughputRecorder::start for Unknown Payload type";
return;
}
@@ -277,7 +275,7 @@ std::string ThroughputRecorder::ToString(PayloadType type) {
void ThroughputRecorderContainer::Shutdown() {
MutexLock lock(&mutex_);
LOG(INFO) << __func__
<< ". Num of Instance:" << throughput_recorders_.size();
<< ". Num of Instance:" << throughput_recorders_.size();
for (auto& throughput_recorder : throughput_recorders_) {
LOG(INFO) << "Stop instance: " << throughput_recorder.second;
throughput_recorder.second->Stop();
@@ -297,7 +295,7 @@ ThroughputRecorder* ThroughputRecorderContainer::GetTPRecorder(
(payload_direction == PayloadDirection::INCOMING_PAYLOAD) ? "; Receive"
: "; Send";
LOG(INFO) << "Add ThroughputRecorder instance : " << instance
<< " for payload_id:" << payload_id << direction;
<< " for payload_id:" << payload_id << direction;
throughput_recorders_.emplace(
std::pair<int64_t, PayloadDirection>(payload_id, payload_direction),
instance);
@@ -317,8 +315,7 @@ void ThroughputRecorderContainer::StopTPRecorder(
std::pair<int64_t, PayloadDirection>(payload_id, payload_direction));
if (it != throughput_recorders_.end()) {
LOG(INFO) << "Found and stop/delete ThroughputRecorder instance : "
<< &(it->second) << " for payload_id:" << payload_id
<< direction;
<< &(it->second) << " for payload_id:" << payload_id << direction;
it->second->Stop();
delete it->second;
throughput_recorders_.erase(
@@ -54,9 +54,9 @@ void BaseBwuHandler::RevertInitiatorState() {
void BaseBwuHandler::RevertInitiatorState(const std::string& upgrade_service_id,
const std::string& endpoint_id) {
if (!IsInitiatorUpgradeServiceId(upgrade_service_id)) {
LOG(ERROR)
<< "BaseBwuHandler::RevertInitiatorState: input service ID "
<< upgrade_service_id << " is not an BWU initiator ID; ignoring.";
LOG(ERROR) << "BaseBwuHandler::RevertInitiatorState: input service ID "
<< upgrade_service_id
<< " is not an BWU initiator ID; ignoring.";
return;
}
@@ -82,8 +82,7 @@ void BaseBwuHandler::RevertResponderState(const std::string& service_id) {
void BaseBwuHandler::NotifyOnIncomingConnection(
ClientProxy* client, std::unique_ptr<IncomingSocketConnection> connection) {
if (!incoming_connection_callback_) {
LOG(WARNING)
<< "Ignoring incoming connection, no callback registered";
LOG(WARNING) << "Ignoring incoming connection, no callback registered";
return;
}
incoming_connection_callback_(client, std::move(connection));
@@ -137,7 +137,7 @@ ExceptionOr<ByteArray> BaseEndpointChannel::Read(
if (read_int.result() < 0 || read_int.result() > max_allowed_read_bytes_) {
LOG(WARNING) << __func__ << ": Read an invalid number of bytes: "
<< read_int.result();
<< read_int.result();
return ExceptionOr<ByteArray>(Exception::kIo);
}
@@ -173,19 +173,18 @@ ExceptionOr<ByteArray> BaseEndpointChannel::Read(
if (parsed.ok()) {
if (parser::GetFrameType(parsed.result()) ==
location::nearby::connections::V1Frame::KEEP_ALIVE) {
LOG(INFO)
<< __func__
<< ": Read unencrypted KEEP_ALIVE on encrypted channel.";
LOG(INFO) << __func__
<< ": Read unencrypted KEEP_ALIVE on encrypted channel.";
result = ByteArray(input);
} else {
LOG(WARNING)
<< __func__ << ": Read unexpected unencrypted frame of type "
<< parser::GetFrameType(parsed.result());
LOG(WARNING) << __func__
<< ": Read unexpected unencrypted frame of type "
<< parser::GetFrameType(parsed.result());
}
} else {
message_exception.value = parsed.exception();
LOG(WARNING)
<< __func__ << ": Unable to parse data as unencrypted message.";
LOG(WARNING) << __func__
<< ": Unable to parse data as unencrypted message.";
}
}
packet_meta_data.StopEncryption();
@@ -244,8 +243,8 @@ Exception BaseEndpointChannel::Write(const ByteArray& data,
size_t data_size = data_to_write->size();
if (data_size < 0 || data_size > max_allowed_read_bytes_) {
LOG(WARNING) << __func__ << ": Write an invalid number of bytes: "
<< data_size;
LOG(WARNING) << __func__
<< ": Write an invalid number of bytes: " << data_size;
return {Exception::kIo};
}
@@ -253,20 +252,20 @@ Exception BaseEndpointChannel::Write(const ByteArray& data,
Exception write_exception =
WriteInt(writer_, static_cast<std::int32_t>(data_size));
if (write_exception.Raised()) {
LOG(WARNING) << __func__ << ": Failed to write header: "
<< write_exception.value;
LOG(WARNING) << __func__
<< ": Failed to write header: " << write_exception.value;
return write_exception;
}
write_exception = writer_->Write(*data_to_write);
if (write_exception.Raised()) {
LOG(WARNING) << __func__ << ": Failed to write data: "
<< write_exception.value;
LOG(WARNING) << __func__
<< ": Failed to write data: " << write_exception.value;
return write_exception;
}
Exception flush_exception = writer_->Flush();
if (flush_exception.Raised()) {
LOG(WARNING) << __func__ << ": Failed to flush writer: "
<< flush_exception.value;
LOG(WARNING) << __func__
<< ": Failed to flush writer: " << flush_exception.value;
return flush_exception;
}
packet_meta_data.StopSocketIo();
@@ -304,7 +303,7 @@ void BaseEndpointChannel::CloseIo() {
Exception exception = reader_->Close();
if (!exception.Ok()) {
LOG(WARNING) << __func__
<< ": Exception closing reader: " << exception.value;
<< ": Exception closing reader: " << exception.value;
}
}
{
@@ -314,7 +313,7 @@ void BaseEndpointChannel::CloseIo() {
Exception exception = writer_->Close();
if (!exception.Ok()) {
LOG(WARNING) << __func__
<< ": Exception closing writer: " << exception.value;
<< ": Exception closing writer: " << exception.value;
}
}
}
@@ -339,8 +338,7 @@ void BaseEndpointChannel::Close(
void BaseEndpointChannel::Close(
location::nearby::proto::connections::DisconnectionReason reason,
SafeDisconnectionResult result) {
LOG(INFO) << __func__
<< ": Closing endpoint channel, reason: " << reason;
LOG(INFO) << __func__ << ": Closing endpoint channel, reason: " << reason;
Close();
if (analytics_recorder_ != nullptr && !endpoint_id_.empty()) {
@@ -477,8 +475,8 @@ void BaseEndpointChannel::BlockUntilUnpaused() {
while (is_paused_) {
Exception wait_succeeded = is_paused_cond_.Wait();
if (!wait_succeeded.Ok()) {
LOG(WARNING) << __func__ << ": Failure waiting to unpause: "
<< wait_succeeded.value;
LOG(WARNING) << __func__
<< ": Failure waiting to unpause: " << wait_succeeded.value;
return;
}
}
@@ -98,7 +98,7 @@ std::function<void(const ByteArray&)> MakeDataMonitor(const std::string& label,
*capture += s;
}
LOG(INFO) << "source='" << label << "'"
<< "; message='" << s << "'";
<< "; message='" << s << "'";
};
}
+174 -208
View File
@@ -130,12 +130,12 @@ BasePcpHandler::~BasePcpHandler() {
void BasePcpHandler::Shutdown() {
if (closed_.Set(true)) return;
LOG(INFO) << "Initiating shutdown of BasePcpHandler("
<< strategy_.GetName() << ")";
LOG(INFO) << "Initiating shutdown of BasePcpHandler(" << strategy_.GetName()
<< ")";
DisconnectFromEndpointManager();
// Stop all the ongoing Runnables (as gracefully as possible).
LOG(INFO) << "BasePcpHandler(" << strategy_.GetName()
<< ") is bringing down executors.";
<< ") is bringing down executors.";
encryption_runner_.Shutdown();
@@ -144,14 +144,13 @@ void BasePcpHandler::Shutdown() {
serial_executor_.Shutdown();
alarm_executor_.Shutdown();
LOG(INFO) << "BasePcpHandler(" << strategy_.GetName()
<< ") has shut down.";
LOG(INFO) << "BasePcpHandler(" << strategy_.GetName() << ") has shut down.";
}
void BasePcpHandler::DisconnectFromEndpointManager() {
if (stop_.Set(true)) return;
LOG(INFO) << "BasePcpHandler(" << strategy_.GetName()
<< ") unregister from EPM.";
<< ") unregister from EPM.";
// Unregister ourselves from EPM message dispatcher.
endpoint_manager_->UnregisterFrameProcessor(V1Frame::CONNECTION_RESPONSE,
this);
@@ -228,8 +227,7 @@ Status BasePcpHandler::StartAdvertising(
advertising_options.CompatibleOptions();
StripOutUnavailableMediums(compatible_advertising_options);
LOG(INFO) << "StartAdvertising with supported mediums: "
<< GetStringValueOfSupportedMediums(
compatible_advertising_options);
<< GetStringValueOfSupportedMediums(compatible_advertising_options);
RunOnPcpHandlerThread(
"start-advertising",
@@ -297,7 +295,7 @@ Status BasePcpHandler::StartAdvertising(
void BasePcpHandler::StopAdvertising(ClientProxy* client) {
LOG(INFO) << "StopAdvertising local_endpoint_id="
<< client->GetLocalEndpointId();
<< client->GetLocalEndpointId();
CountDownLatch latch(1);
RunOnPcpHandlerThread("stop-advertising",
[this, client, &latch]() RUN_ON_PCP_HANDLER_THREAD() {
@@ -396,8 +394,7 @@ BooleanMediumSelector BasePcpHandler::ComputeIntersectionOfSupportedMediums(
if (pending_connection_info.is_incoming) {
for (auto medium : their_mediums) {
LOG(INFO) << "Their supported medium name: "
<< location::nearby::proto::connections::Medium_Name(
medium);
<< location::nearby::proto::connections::Medium_Name(medium);
}
} else {
LOG(INFO)
@@ -407,8 +404,7 @@ BooleanMediumSelector BasePcpHandler::ComputeIntersectionOfSupportedMediums(
for (Medium my_medium : GetConnectionMediumsByPriority()) {
LOG(INFO) << "Our supported medium name: "
<< location::nearby::proto::connections::Medium_Name(
my_medium);
<< location::nearby::proto::connections::Medium_Name(my_medium);
if (std::find(their_mediums.begin(), their_mediums.end(), my_medium) !=
their_mediums.end()) {
// We use advertising options as a proxy to whether or not the local
@@ -450,8 +446,7 @@ Status BasePcpHandler::StartDiscovery(ClientProxy* client,
DiscoveryOptions stripped_discovery_options = discovery_options;
StripOutUnavailableMediums(stripped_discovery_options);
LOG(INFO) << "StartDiscovery with supported mediums:"
<< GetStringValueOfSupportedMediums(
stripped_discovery_options);
<< GetStringValueOfSupportedMediums(stripped_discovery_options);
RunOnPcpHandlerThread(
"start-discovery",
[this, client, service_id, stripped_discovery_options,
@@ -529,11 +524,11 @@ Status BasePcpHandler::WaitForResult(const std::string& method_name,
ExceptionOr<Status> result = future->Get();
if (!result.ok()) {
LOG(INFO) << "Future:[" << method_name
<< "] completed with exception:" << result.exception();
<< "] completed with exception:" << result.exception();
return {Status::kError};
}
LOG(INFO) << "Future:[" << method_name
<< "] completed with status:" << result.result().value;
<< "] completed with status:" << result.result().value;
return result.result();
}
@@ -541,7 +536,7 @@ void BasePcpHandler::RunOnPcpHandlerThread(const std::string& name,
Runnable runnable) {
if (closed_.Get()) {
LOG(WARNING) << "Skip to run PCP Handler task " << name
<< " due to PCP Handler is closed";
<< " due to PCP Handler is closed";
return;
}
@@ -659,14 +654,12 @@ void BasePcpHandler::OnEncryptionSuccessRunnableV3(
// TODO(b/305004353): Authenticate the connection in the responder role for
// outgoing connections.
if (!pending_connection_info.is_incoming) {
LOG(ERROR) << __func__
<< ": only outgoing connections are supported";
LOG(ERROR) << __func__ << ": only outgoing connections are supported";
return;
}
VLOG(1)
<< __func__
<< ": beginning authentication to the remote device as an initiator";
VLOG(1) << __func__
<< ": beginning authentication to the remote device as an initiator";
ConnectionsAuthenticationTransport connections_authentication_transport =
ConnectionsAuthenticationTransport(endpoint_channel);
pending_connection_info.authentication_status =
@@ -675,8 +668,8 @@ void BasePcpHandler::OnEncryptionSuccessRunnableV3(
/*shared_secret=*/auth_token,
/*authentication_transport=*/connections_authentication_transport);
LOG(INFO) << __func__ << ": authentication result = "
<< AuthenticationStatusToString(
pending_connection_info.authentication_status);
<< AuthenticationStatusToString(
pending_connection_info.authentication_status);
RegisterDeviceAfterEncryptionSuccess(
/*endpoint_id=*/remote_device.GetEndpointId(),
@@ -727,9 +720,8 @@ void BasePcpHandler::RegisterDeviceAfterEncryptionSuccess(
pending_connection_info.SetCryptoContext(std::move(ukey2));
pending_connection_info.connection_token =
GetHashedConnectionToken(raw_auth_token);
LOG(INFO)
<< "Register encrypted connection; wait for response; endpoint_id="
<< endpoint_id;
LOG(INFO) << "Register encrypted connection; wait for response; endpoint_id="
<< endpoint_id;
// Set ourselves up so that we receive all acceptance/rejection messages
endpoint_manager_->RegisterFrameProcessor(V1Frame::CONNECTION_RESPONSE, this);
@@ -784,8 +776,8 @@ void BasePcpHandler::OnEncryptionFailureRunnable(
// it too by accident.
if (*endpoint_channel != *pending_connection_info.channel) {
LOG(INFO) << "Not destroying channel [mismatch]: passed="
<< endpoint_channel->GetName() << "; expected="
<< pending_connection_info.channel->GetName();
<< endpoint_channel->GetName()
<< "; expected=" << pending_connection_info.channel->GetName();
return;
}
@@ -824,11 +816,11 @@ ConnectionInfo BasePcpHandler::FillConnectionInfo(
connection_info.medium_role.emplace(medium_role_info);
}
LOG(INFO) << "Query for WIFI information: is_supports_5_ghz="
<< connection_info.supports_5_ghz
<< "; bssid=" << connection_info.bssid
<< "; ap_frequency=" << connection_info.ap_frequency
<< "Mhz; ip_address in bytes format="
<< absl::BytesToHexString(connection_info.ip_address);
<< connection_info.supports_5_ghz
<< "; bssid=" << connection_info.bssid
<< "; ap_frequency=" << connection_info.ap_frequency
<< "Mhz; ip_address in bytes format="
<< absl::BytesToHexString(connection_info.ip_address);
}
connection_info.supported_mediums =
GetSupportedConnectionMediumsByPriority(connection_options);
@@ -861,8 +853,8 @@ Status BasePcpHandler::RequestConnection(
DiscoveredEndpoint* endpoint = GetDiscoveredEndpoint(endpoint_id);
if (endpoint == nullptr) {
LOG(INFO)
<< "Discovered endpoint not found: endpoint_id=" << endpoint_id;
LOG(INFO) << "Discovered endpoint not found: endpoint_id="
<< endpoint_id;
result->Set({Status::kEndpointUnknown});
return;
}
@@ -873,9 +865,8 @@ Status BasePcpHandler::RequestConnection(
if (AppendRemoteBluetoothMacAddressEndpoint(
endpoint_id, remote_bluetooth_mac_address,
client->GetDiscoveryOptions()))
LOG(INFO)
<< "Appended remote Bluetooth MAC Address endpoint ["
<< remote_bluetooth_mac_address << "]";
LOG(INFO) << "Appended remote Bluetooth MAC Address endpoint ["
<< remote_bluetooth_mac_address << "]";
}
if (AppendWebRTCEndpoint(endpoint_id, client->GetDiscoveryOptions()))
@@ -899,8 +890,8 @@ Status BasePcpHandler::RequestConnection(
Medium channel_medium =
channel ? channel->GetMedium() : Medium::UNKNOWN_MEDIUM;
if (channel == nullptr) {
LOG(INFO)
<< "Endpoint channel not available: endpoint_id=" << endpoint_id;
LOG(INFO) << "Endpoint channel not available: endpoint_id="
<< endpoint_id;
ProcessPreConnectionInitiationFailure(
client, channel_medium, endpoint_id, channel.get(),
/* is_incoming = */ false, start_time, connect_impl_result.status,
@@ -908,10 +899,9 @@ Status BasePcpHandler::RequestConnection(
return;
}
LOG(INFO)
<< "In requestConnection(), wrote ConnectionRequestFrame "
"to endpoint_id="
<< endpoint_id;
LOG(INFO) << "In requestConnection(), wrote ConnectionRequestFrame "
"to endpoint_id="
<< endpoint_id;
client->OnRequestConnection(GetStrategy(), endpoint_id,
connection_options);
@@ -925,7 +915,7 @@ Status BasePcpHandler::RequestConnection(
connection_info, channel.get());
if (!write_exception.Ok()) {
LOG(INFO) << "Failed to send connection request: endpoint_id="
<< endpoint_id;
<< endpoint_id;
ProcessPreConnectionInitiationFailure(
client, channel_medium, endpoint_id, channel.get(),
/* is_incoming = */ false, start_time, {Status::kEndpointIoError},
@@ -936,7 +926,7 @@ Status BasePcpHandler::RequestConnection(
}
LOG(INFO) << "Adding connection to pending set: endpoint_id="
<< endpoint_id;
<< endpoint_id;
// We've successfully connected to the device, and are now about to jump
// on to the EncryptionRunner thread to start running our encryption
@@ -965,19 +955,19 @@ Status BasePcpHandler::RequestConnection(
.first->second.channel.get();
LOG(INFO) << "Initiating secure connection: endpoint_id="
<< endpoint_id;
<< endpoint_id;
// Next, we'll set up encryption. When it's done, our future will return
// and RequestConnection() will finish.
encryption_runner_.StartClient(client, endpoint_id, endpoint_channel,
GetResultListener());
});
LOG(INFO) << "Waiting for connection to complete: endpoint_id="
<< endpoint_id;
<< endpoint_id;
auto status =
WaitForResult(absl::StrCat("RequestConnection(", endpoint_id, ")"),
client->GetClientId(), result.get());
LOG(INFO) << "Wait is complete: endpoint_id=" << endpoint_id
<< "; status=" << status.value;
<< "; status=" << status.value;
return status;
}
@@ -1003,8 +993,8 @@ Status BasePcpHandler::RequestConnectionV3(
DiscoveredEndpoint* endpoint = GetDiscoveredEndpoint(endpoint_id);
if (endpoint == nullptr) {
LOG(INFO)
<< "Discovered endpoint not found: endpoint_id=" << endpoint_id;
LOG(INFO) << "Discovered endpoint not found: endpoint_id="
<< endpoint_id;
result->Set({Status::kEndpointUnknown});
return;
}
@@ -1015,9 +1005,8 @@ Status BasePcpHandler::RequestConnectionV3(
if (AppendRemoteBluetoothMacAddressEndpoint(
endpoint_id, remote_bluetooth_mac_address,
client->GetDiscoveryOptions()))
LOG(INFO)
<< "Appended remote Bluetooth MAC Address endpoint ["
<< remote_bluetooth_mac_address << "]";
LOG(INFO) << "Appended remote Bluetooth MAC Address endpoint ["
<< remote_bluetooth_mac_address << "]";
}
if (AppendWebRTCEndpoint(endpoint_id, client->GetDiscoveryOptions()))
@@ -1031,11 +1020,10 @@ Status BasePcpHandler::RequestConnectionV3(
if (!MediumSupportedByClientOptions(connect_endpoint->medium,
connection_options))
continue;
LOG(INFO)
<< "Try to connect with endpoint(id=" << endpoint_id
<< ") by Medium: "
<< location::nearby::proto::connections::Medium_Name(
connect_endpoint->medium);
LOG(INFO) << "Try to connect with endpoint(id=" << endpoint_id
<< ") by Medium: "
<< location::nearby::proto::connections::Medium_Name(
connect_endpoint->medium);
connect_impl_result = ConnectImpl(client, connect_endpoint);
if (connect_impl_result.status.Ok()) {
channel = std::move(connect_impl_result.endpoint_channel);
@@ -1046,8 +1034,8 @@ Status BasePcpHandler::RequestConnectionV3(
Medium channel_medium =
channel ? channel->GetMedium() : Medium::UNKNOWN_MEDIUM;
if (channel == nullptr) {
LOG(INFO)
<< "Endpoint channel not available: endpoint_id=" << endpoint_id;
LOG(INFO) << "Endpoint channel not available: endpoint_id="
<< endpoint_id;
ProcessPreConnectionInitiationFailure(
client, channel_medium, endpoint_id, channel.get(),
/* is_incoming = */ false, start_time, connect_impl_result.status,
@@ -1055,10 +1043,9 @@ Status BasePcpHandler::RequestConnectionV3(
return;
}
LOG(INFO)
<< "In requestConnectionV3(), wrote ConnectionRequestFrame "
"to endpoint_id="
<< endpoint_id;
LOG(INFO) << "In requestConnectionV3(), wrote ConnectionRequestFrame "
"to endpoint_id="
<< endpoint_id;
client->OnRequestConnection(GetStrategy(), endpoint_id,
connection_options);
@@ -1073,7 +1060,7 @@ Status BasePcpHandler::RequestConnectionV3(
if (!write_exception.Ok()) {
LOG(INFO) << "Failed to send connection request: endpoint_id="
<< endpoint_id;
<< endpoint_id;
ProcessPreConnectionInitiationFailure(
client, channel_medium, endpoint_id, channel.get(),
/* is_incoming = */ false, start_time, {Status::kEndpointIoError},
@@ -1084,7 +1071,7 @@ Status BasePcpHandler::RequestConnectionV3(
}
LOG(INFO) << "Adding connection to pending set: endpoint_id="
<< endpoint_id;
<< endpoint_id;
// We've successfully connected to the device, and are now about to jump
// on to the EncryptionRunner thread to start running our encryption
@@ -1113,7 +1100,7 @@ Status BasePcpHandler::RequestConnectionV3(
.first->second.channel.get();
LOG(INFO) << "Initiating secure connection: endpoint_id="
<< endpoint_id;
<< endpoint_id;
// Next, we'll set up encryption and authenticate the remote device.
// When it's done, our future will return and RequestConnectionV3()
// will finish.
@@ -1123,12 +1110,12 @@ Status BasePcpHandler::RequestConnectionV3(
remote_device, *endpoint_channel));
});
LOG(INFO) << "Waiting for connection to complete: endpoint_id="
<< endpoint_id;
<< endpoint_id;
auto status =
WaitForResult(absl::StrCat("RequestConnectionV3(", endpoint_id, ")"),
client->GetClientId(), result.get());
LOG(INFO) << "Wait is complete: endpoint_id=" << endpoint_id
<< "; status=" << status.value;
<< "; status=" << status.value;
return status;
}
@@ -1466,8 +1453,8 @@ Status BasePcpHandler::AcceptConnection(ClientProxy* client,
channel_manager_->GetChannelForEndpoint(endpoint_id);
if (channel == nullptr) {
LOG(ERROR) << "Channel destroyed before Accept; bring down "
"connection: endpoint_id="
<< endpoint_id;
"connection: endpoint_id="
<< endpoint_id;
ProcessPreConnectionResultFailure(
client, endpoint_id, /* should_call_disconnect_endpoint= */ true,
DisconnectionReason::IO_ERROR);
@@ -1480,9 +1467,8 @@ Status BasePcpHandler::AcceptConnection(ClientProxy* client,
Status::kSuccess, client->GetLocalOsInfo(),
client->GetLocalMultiplexSocketBitmask()));
if (!write_exception.Ok()) {
LOG(INFO)
<< "AcceptConnection: failed to send response: endpoint_id="
<< endpoint_id;
LOG(INFO) << "AcceptConnection: failed to send response: endpoint_id="
<< endpoint_id;
ProcessPreConnectionResultFailure(
client, endpoint_id, /* should_call_disconnect_endpoint= */ true,
DisconnectionReason::IO_ERROR);
@@ -1491,7 +1477,7 @@ Status BasePcpHandler::AcceptConnection(ClientProxy* client,
}
LOG(INFO) << "AcceptConnection: accepting locally: endpoint_id="
<< endpoint_id;
<< endpoint_id;
connection_info.LocalEndpointAcceptedConnection(
endpoint_id, std::move(payload_listener));
EvaluateConnectionResult(client, endpoint_id,
@@ -1543,9 +1529,8 @@ Status BasePcpHandler::RejectConnection(ClientProxy* client,
Status::kConnectionRejected, client->GetLocalOsInfo(),
client->GetLocalMultiplexSocketBitmask()));
if (!write_exception.Ok()) {
LOG(INFO)
<< "RejectConnection: failed to send response: endpoint_id="
<< endpoint_id;
LOG(INFO) << "RejectConnection: failed to send response: endpoint_id="
<< endpoint_id;
ProcessPreConnectionResultFailure(
client, endpoint_id, /* should_call_disconnect_endpoint= */ true,
DisconnectionReason::IO_ERROR);
@@ -1554,7 +1539,7 @@ Status BasePcpHandler::RejectConnection(ClientProxy* client,
}
LOG(INFO) << "RejectConnection: rejecting locally: endpoint_id="
<< endpoint_id;
<< endpoint_id;
connection_info.LocalEndpointRejectedConnection(endpoint_id);
EvaluateConnectionResult(client, endpoint_id,
false /* can_close_immediately */);
@@ -1573,13 +1558,11 @@ void BasePcpHandler::OnIncomingFrame(
RunOnPcpHandlerThread(
"incoming-frame",
[this, client, endpoint_id, frame, &latch]() RUN_ON_PCP_HANDLER_THREAD() {
LOG(INFO) << "OnConnectionResponse: endpoint_id="
<< endpoint_id;
LOG(INFO) << "OnConnectionResponse: endpoint_id=" << endpoint_id;
if (client->HasRemoteEndpointResponded(endpoint_id)) {
LOG(INFO)
<< "OnConnectionResponse: already handled; endpoint_id="
<< endpoint_id;
LOG(INFO) << "OnConnectionResponse: already handled; endpoint_id="
<< endpoint_id;
return;
}
@@ -1597,14 +1580,13 @@ void BasePcpHandler::OnIncomingFrame(
accepted = connection_response.status() == Status::kSuccess;
}
if (accepted) {
LOG(INFO)
<< "OnConnectionResponse: remote accepted; endpoint_id="
<< endpoint_id;
LOG(INFO) << "OnConnectionResponse: remote accepted; endpoint_id="
<< endpoint_id;
client->RemoteEndpointAcceptedConnection(endpoint_id);
} else {
LOG(INFO)
<< "OnConnectionResponse: remote rejected; endpoint_id="
<< endpoint_id << "; status=" << connection_response.status();
LOG(INFO) << "OnConnectionResponse: remote rejected; endpoint_id="
<< endpoint_id
<< "; status=" << connection_response.status();
client->RemoteEndpointRejectedConnection(endpoint_id);
}
@@ -1618,10 +1600,9 @@ void BasePcpHandler::OnIncomingFrame(
}
if (connection_response.has_safe_to_disconnect_version()) {
LOG(INFO)
<< "[safe-to-disconnect]: endpoint_id=" << endpoint_id
<< "; Version = "
<< connection_response.safe_to_disconnect_version();
LOG(INFO) << "[safe-to-disconnect]: endpoint_id=" << endpoint_id
<< "; Version = "
<< connection_response.safe_to_disconnect_version();
client->SetRemoteSafeToDisconnectVersion(
endpoint_id, connection_response.safe_to_disconnect_version());
}
@@ -1671,9 +1652,9 @@ void BasePcpHandler::OnEndpointFound(
// Check if we've seen this endpoint ID before.
std::string& endpoint_id = endpoint->endpoint_id;
LOG(INFO) << "OnEndpointFound: id=" << endpoint_id << ", medium="
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium)
<< " [enter]";
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium)
<< " [enter]";
MutexLock lock(&discovered_endpoint_mutex_);
auto range = discovered_endpoints_.equal_range(endpoint->endpoint_id);
bool is_range_empty = range.first == range.second;
@@ -1685,8 +1666,8 @@ void BasePcpHandler::OnEndpointFound(
// handle it to avoid device refresh between different mediums.
if (discovered_endpoint->medium == endpoint->medium) {
LOG(INFO) << "Ignore the dup endpoint info on medium "
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
return;
}
} else {
@@ -1695,9 +1676,9 @@ void BasePcpHandler::OnEndpointFound(
// we should reset discovered endpoints of the endpoint ID, and use the
// new endpoint info and medium as discovered endpoint.
LOG(INFO) << "Endpoint info of endpoint " << endpoint_id
<< " changed on medium "
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
<< " changed on medium "
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
// Report endpoint lost
client->OnEndpointLost(endpoint->service_id, endpoint->endpoint_id);
// Reset discovered endpoints
@@ -1715,8 +1696,8 @@ void BasePcpHandler::OnEndpointFound(
}
if (discovered_endpoint->medium == endpoint->medium) {
LOG(INFO) << "Ignore the dup endpoint info on medium "
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
return;
}
}
@@ -1726,10 +1707,10 @@ void BasePcpHandler::OnEndpointFound(
discovered_endpoints_.emplace(endpoint_id, std::move(endpoint))
->second.get();
LOG(INFO) << "Adding new medium for endpoint: endpoint_id="
<< endpoint_id << "; medium="
<< location::nearby::proto::connections::Medium_Name(
owned_endpoint->medium);
LOG(INFO) << "Adding new medium for endpoint: endpoint_id=" << endpoint_id
<< "; medium="
<< location::nearby::proto::connections::Medium_Name(
owned_endpoint->medium);
// Range is empty: this is the first endpoint we discovered so far.
// Report this endpoint_id to client.
@@ -1744,16 +1725,15 @@ void BasePcpHandler::OnEndpointFound(
void BasePcpHandler::OnEndpointLost(
ClientProxy* client, const BasePcpHandler::DiscoveredEndpoint& endpoint) {
// Look up the DiscoveredEndpoint we have in our cache.
LOG(INFO) << "OnEndpointLost: id=" << endpoint.endpoint_id
<< " on medium="
<< location::nearby::proto::connections::Medium_Name(
endpoint.medium);
LOG(INFO) << "OnEndpointLost: id=" << endpoint.endpoint_id << " on medium="
<< location::nearby::proto::connections::Medium_Name(
endpoint.medium);
MutexLock lock(&discovered_endpoint_mutex_);
auto range = discovered_endpoints_.equal_range(endpoint.endpoint_id);
bool is_range_empty = range.first == range.second;
if (is_range_empty) {
LOG(INFO) << "No previous endpoint (nothing to lose): endpoint_id="
<< endpoint.endpoint_id;
<< endpoint.endpoint_id;
return;
}
int count = discovered_endpoints_.count(endpoint.endpoint_id);
@@ -1769,15 +1749,14 @@ void BasePcpHandler::OnEndpointLost(
// new info and are just now figuring out that we lost the old info.
if (discovered_endpoint->endpoint_info != endpoint.endpoint_info) {
LOG(INFO) << "Previous endpoint name mismatch; passed="
<< absl::BytesToHexString(endpoint.endpoint_info.data())
<< "; expected="
<< absl::BytesToHexString(
discovered_endpoint->endpoint_info.data());
<< absl::BytesToHexString(endpoint.endpoint_info.data())
<< "; expected="
<< absl::BytesToHexString(
discovered_endpoint->endpoint_info.data());
}
LOG(INFO) << "Erase Endpoint " << endpoint.endpoint_id
<< " on Medium "
<< location::nearby::proto::connections::Medium_Name(
discovered_endpoint->medium);
LOG(INFO) << "Erase Endpoint " << endpoint.endpoint_id << " on Medium "
<< location::nearby::proto::connections::Medium_Name(
discovered_endpoint->medium);
if (--count == 0) {
client->OnEndpointLost(endpoint.service_id, endpoint.endpoint_id);
}
@@ -1802,8 +1781,7 @@ void BasePcpHandler::OnInstantLost(ClientProxy* client,
}
}
LOG(INFO) << "Reported lost endpoint " << endpoint_id
<< " on all mediums.";
LOG(INFO) << "Reported lost endpoint " << endpoint_id << " on all mediums.";
}
Status BasePcpHandler::UpdateAdvertisingOptions(
@@ -1895,11 +1873,11 @@ bool BasePcpHandler::IsPreferred(
for (const auto& medium : mediums) {
absl::StrAppend(&medium_string, medium, "; ");
}
LOG(ERROR) << "Failed to find either " << new_endpoint.medium
<< " or " << old_endpoint.medium
<< " in the list of locally supported mediums despite "
"expecting to find both, when deciding which medium "
<< medium_string << " is preferred.";
LOG(ERROR) << "Failed to find either " << new_endpoint.medium << " or "
<< old_endpoint.medium
<< " in the list of locally supported mediums despite "
"expecting to find both, when deciding which medium "
<< medium_string << " is preferred.";
return false;
}
@@ -1916,10 +1894,10 @@ Exception BasePcpHandler::OnIncomingConnection(
if (!client->IsAdvertising() &&
!client->IsListeningForIncomingConnections()) {
LOG(WARNING) << "Ignoring incoming connection on medium "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< " because client=" << client->GetClientId()
<< " is no longer waiting for incoming connections.";
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< " because client=" << client->GetClientId()
<< " is no longer waiting for incoming connections.";
return {Exception::kIo};
}
@@ -1929,11 +1907,10 @@ Exception BasePcpHandler::OnIncomingConnection(
if (!wrapped_frame.ok()) {
if (wrapped_frame.exception()) {
LOG(ERROR)
<< "Failed to parse incoming connection request; client="
<< client->GetClientId()
<< "; device=" << absl::BytesToHexString(remote_endpoint_info.data())
<< "with error: " << wrapped_frame.exception();
LOG(ERROR) << "Failed to parse incoming connection request; client="
<< client->GetClientId() << "; device="
<< absl::BytesToHexString(remote_endpoint_info.data())
<< "with error: " << wrapped_frame.exception();
ProcessPreConnectionInitiationFailure(
client, medium, /*endpoint_id=*/"", channel.get(),
/*is_incoming=*/true, start_time, {Status::kError},
@@ -1948,18 +1925,18 @@ Exception BasePcpHandler::OnIncomingConnection(
const ConnectionRequestFrame& connection_request =
frame.v1().connection_request();
LOG(INFO) << "In onIncomingConnection("
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< ") for client=" << client->GetClientId()
<< ", read ConnectionRequestFrame from endpoint(id="
<< connection_request.endpoint_id() << ")";
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< ") for client=" << client->GetClientId()
<< ", read ConnectionRequestFrame from endpoint(id="
<< connection_request.endpoint_id() << ")";
if (client->IsConnectedToEndpoint(connection_request.endpoint_id())) {
LOG(ERROR) << "Incoming connection on medium "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< " was denied because we're "
"already connected to endpoint(id="
<< connection_request.endpoint_id() << ").";
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< " was denied because we're "
"already connected to endpoint(id="
<< connection_request.endpoint_id() << ").";
return {Exception::kIo};
}
@@ -1989,8 +1966,8 @@ Exception BasePcpHandler::OnIncomingConnection(
: NearbyDevice::Type::kConnectionsDevice;
if (listening_device_type != incoming_type) {
LOG(WARNING) << "Device requesting a connection is the wrong type."
<< "Expected type: " << listening_device_type
<< ", got type: " << incoming_type;
<< "Expected type: " << listening_device_type
<< ", got type: " << incoming_type;
return {Exception::kIo};
}
@@ -2019,11 +1996,10 @@ Exception BasePcpHandler::OnIncomingConnection(
connection_options.keep_alive_timeout_millis == 0 ||
connection_options.keep_alive_interval_millis >=
connection_options.keep_alive_timeout_millis) {
LOG(WARNING)
<< "Incoming connection has wrong keep-alive frame interval="
<< connection_options.keep_alive_interval_millis
<< ", timeout=" << connection_options.keep_alive_timeout_millis
<< " values; correct them as default.",
LOG(WARNING) << "Incoming connection has wrong keep-alive frame interval="
<< connection_options.keep_alive_interval_millis
<< ", timeout=" << connection_options.keep_alive_timeout_millis
<< " values; correct them as default.",
connection_options.keep_alive_interval_millis =
FeatureFlags::GetInstance().GetFlags().keep_alive_interval_millis;
connection_options.keep_alive_timeout_millis =
@@ -2065,13 +2041,13 @@ Exception BasePcpHandler::OnIncomingConnection(
<< medium_metadata.medium_role().support_awdl_subscriber();
} else {
LOG(INFO) << connection_request.endpoint_id()
<< "'s WIFI information: is_supports_5_ghz="
<< connection_info.supports_5_ghz
<< "; bssid=" << connection_info.bssid
<< "; ap_frequency=" << connection_info.ap_frequency
<< "Mhz; ip_address in bytes format="
<< absl::BytesToHexString(connection_info.ip_address)
<< "; has no mediumRole";
<< "'s WIFI information: is_supports_5_ghz="
<< connection_info.supports_5_ghz
<< "; bssid=" << connection_info.bssid
<< "; ap_frequency=" << connection_info.ap_frequency
<< "Mhz; ip_address in bytes format="
<< absl::BytesToHexString(connection_info.ip_address)
<< "; has no mediumRole";
}
// We've successfully connected to the device, and are now about to jump on to
@@ -2113,16 +2089,15 @@ bool BasePcpHandler::BreakTie(ClientProxy* client,
if (it != pending_connections_.end()) {
BasePcpHandler::PendingConnectionInfo& pending_connection_info = it->second;
LOG(INFO)
<< "In onIncomingConnection("
<< location::nearby::proto::connections::Medium_Name(
endpoint_channel->GetMedium())
<< ") for client=" << client->GetClientId()
<< ", found a collision with endpoint " << endpoint_id
<< ". We've already sent a connection request to them with nonce "
<< pending_connection_info.nonce
<< ", but they're also trying to connect to us with nonce "
<< incoming_nonce;
LOG(INFO) << "In onIncomingConnection("
<< location::nearby::proto::connections::Medium_Name(
endpoint_channel->GetMedium())
<< ") for client=" << client->GetClientId()
<< ", found a collision with endpoint " << endpoint_id
<< ". We've already sent a connection request to them with nonce "
<< pending_connection_info.nonce
<< ", but they're also trying to connect to us with nonce "
<< incoming_nonce;
// Break the lowest connection. In the (extremely) rare case of a tie, break
// both.
if (pending_connection_info.nonce > incoming_nonce) {
@@ -2130,11 +2105,11 @@ bool BasePcpHandler::BreakTie(ClientProxy* client,
endpoint_channel->Close();
LOG(INFO) << "In onIncomingConnection("
<< location::nearby::proto::connections::Medium_Name(
endpoint_channel->GetMedium())
<< ") for client=" << client->GetClientId()
<< ", cleaned up the collision with endpoint "
<< endpoint_id << " by closing their channel.";
<< location::nearby::proto::connections::Medium_Name(
endpoint_channel->GetMedium())
<< ") for client=" << client->GetClientId()
<< ", cleaned up the collision with endpoint " << endpoint_id
<< " by closing their channel.";
return true;
} else if (pending_connection_info.nonce < incoming_nonce) {
// Aw, we lost. Clean up our connection, and then we'll let their
@@ -2173,11 +2148,10 @@ Status BasePcpHandler::VerifyConnectionRequest(const std::string& endpoint_id,
// If we already have a pending connection, then we shouldn't allow any
// more outgoing connections to this endpoint.
if (pending_connections_.count(endpoint_id)) {
LOG(INFO)
<< "In requestConnection(), connection requested with "
"endpoint(id="
<< endpoint_id
<< "), but we already have a pending connection with them.";
LOG(INFO) << "In requestConnection(), connection requested with "
"endpoint(id="
<< endpoint_id
<< "), but we already have a pending connection with them.";
return {Status::kAlreadyConnectedToEndpoint};
}
@@ -2185,11 +2159,9 @@ Status BasePcpHandler::VerifyConnectionRequest(const std::string& endpoint_id,
// listen to them.
if (client->ShouldEnforceTopologyConstraints() &&
!CanSendOutgoingConnection(client)) {
LOG(INFO) << "In requestConnection(), client="
<< client->GetClientId()
<< " attempted a connection with endpoint(id="
<< endpoint_id
<< "), but outgoing connections are disallowed";
LOG(INFO) << "In requestConnection(), client=" << client->GetClientId()
<< " attempted a connection with endpoint(id=" << endpoint_id
<< "), but outgoing connections are disallowed";
return {Status::kOutOfOrderApiCall};
}
return {Status::kSuccess};
@@ -2313,7 +2285,7 @@ void BasePcpHandler::EvaluateConnectionResult(ClientProxy* client,
auto it = pending_connections_.find(endpoint_id);
if (it == pending_connections_.end()) {
LOG(INFO) << "No pending connection to evaluate; endpoint_id="
<< endpoint_id;
<< endpoint_id;
return;
}
@@ -2323,8 +2295,7 @@ void BasePcpHandler::EvaluateConnectionResult(ClientProxy* client,
std::shared_ptr<EndpointChannel> endpint_channel =
channel_manager_->GetChannelForEndpoint(endpoint_id);
if (endpint_channel == nullptr) {
LOG(WARNING) << "No endpint channel for endpoint_id="
<< endpoint_id;
LOG(WARNING) << "No endpint channel for endpoint_id=" << endpoint_id;
return;
}
@@ -2332,8 +2303,7 @@ void BasePcpHandler::EvaluateConnectionResult(ClientProxy* client,
Status response_code;
if (is_connection_accepted) {
LOG(INFO) << "Pending connection accepted; endpoint_id="
<< endpoint_id;
LOG(INFO) << "Pending connection accepted; endpoint_id=" << endpoint_id;
response_code = {Status::kSuccess};
// Both sides have accepted, so we can now start talking over encrypted
@@ -2358,24 +2328,21 @@ void BasePcpHandler::EvaluateConnectionResult(ClientProxy* client,
if (client->IsMultiplexSocketSupported(endpoint_id,
channel->GetMedium())) {
if (!channel->EnableMultiplexSocket()) {
LOG(INFO)
<< "MultiplexSocket is not implemented for Medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
LOG(INFO) << "MultiplexSocket is not implemented for Medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
} else {
LOG(INFO)
<< "MultiplexSocket is supported for Medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< " on both sides.";
LOG(INFO) << "MultiplexSocket is supported for Medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium())
<< " on both sides.";
}
}
} else {
LOG(INFO) << "channel is null";
}
} else {
LOG(INFO) << "Pending connection rejected; endpoint_id="
<< endpoint_id;
LOG(INFO) << "Pending connection rejected; endpoint_id=" << endpoint_id;
response_code = {Status::kConnectionRejected};
}
@@ -2419,8 +2386,7 @@ void BasePcpHandler::EvaluateConnectionResult(ClientProxy* client,
client->OnBandwidthChanged(endpoint_id, medium);
LOG(INFO) << "Connection accepted on Medium:"
<< location::nearby::proto::connections::Medium_Name(
medium);
<< location::nearby::proto::connections::Medium_Name(medium);
// Kick off the bandwidth upgrade for incoming connections.
if (pending_connection_info.is_incoming && client->AutoUpgradeBandwidth()) {
@@ -2518,7 +2484,7 @@ void BasePcpHandler::LogConnectionAttemptSuccess(
OperationResultCode::DETAIL_SUCCESS;
} else {
LOG(ERROR) << "PendingConnectionInfo channel is null for "
"LogConnectionAttemptSuccess. Bail out.";
"LogConnectionAttemptSuccess. Bail out.";
return;
}
@@ -807,10 +807,9 @@ class BasePcpHandlerTest
.endpoint_channel = nullptr,
};
} else {
LOG(INFO)
<< "Connect with Medium: "
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
LOG(INFO) << "Connect with Medium: "
<< location::nearby::proto::connections::Medium_Name(
endpoint->medium);
return MockPcpHandler::ConnectImplResult{
.medium = endpoint->medium,
.status = {Status::kSuccess},
@@ -57,8 +57,7 @@ BluetoothBwuHandler::CreateUpgradedEndpointChannel(
upgrade_path_info.bluetooth_credentials();
if (!bluetooth_credentials.has_service_name() ||
!bluetooth_credentials.has_mac_address()) {
LOG(ERROR)
<< "BluetoothBwuHandler failed to parse UpgradePathInfo.";
LOG(ERROR) << "BluetoothBwuHandler failed to parse UpgradePathInfo.";
return {
Error(OperationResultCode::CONNECTIVITY_BLUETOOTH_INVALID_CREDENTIAL)};
}
@@ -67,9 +66,9 @@ BluetoothBwuHandler::CreateUpgradedEndpointChannel(
const std::string& mac_address = bluetooth_credentials.mac_address();
VLOG(1) << "BluetoothBwuHandler is attempting to connect to "
"available Bluetooth device ("
<< service_name << ", " << mac_address << ") for endpoint "
<< endpoint_id << " and service ID " << service_id;
"available Bluetooth device ("
<< service_name << ", " << mac_address << ") for endpoint "
<< endpoint_id << " and service ID " << service_id;
BluetoothDevice device = bluetooth_medium_.GetRemoteDevice(mac_address);
if (!device.IsValid()) {
@@ -91,19 +90,17 @@ BluetoothBwuHandler::CreateUpgradedEndpointChannel(
return {Error(socket_result.error().operation_result_code().value())};
}
VLOG(1)
<< "BluetoothBwuHandler successfully connected to Bluetooth device ("
<< service_id << ", " << mac_address << ") while upgrading endpoint "
<< endpoint_id;
VLOG(1) << "BluetoothBwuHandler successfully connected to Bluetooth device ("
<< service_id << ", " << mac_address << ") while upgrading endpoint "
<< endpoint_id;
auto channel = std::make_unique<BluetoothEndpointChannel>(
service_id, /*channel_name=*/service_id, socket_result.value());
if (channel == nullptr) {
LOG(ERROR)
<< "BluetoothBwuHandler failed to create Bluetooth endpoint "
"channel to the Bluetooth device ("
<< service_name << ", " << mac_address << ") for endpoint "
<< endpoint_id << " and service ID " << service_id;
LOG(ERROR) << "BluetoothBwuHandler failed to create Bluetooth endpoint "
"channel to the Bluetooth device ("
<< service_name << ", " << mac_address << ") for endpoint "
<< endpoint_id << " and service ID " << service_id;
socket_result.value().Close();
return {Error(
OperationResultCode::NEARBY_BT_ENDPOINT_CHANNEL_CREATION_FAILURE)};
@@ -119,9 +116,9 @@ ByteArray BluetoothBwuHandler::HandleInitializeUpgradedMediumForEndpoint(
std::string mac_address = bluetooth_medium_.GetMacAddress();
if (mac_address.empty()) {
LOG(ERROR) << "BluetoothBwuHandler couldn't initiate the "
"BLUETOOTH upgrade for service ID "
<< upgrade_service_id << " and endpoint " << endpoint_id
<< " because MAC address is empty.";
"BLUETOOTH upgrade for service ID "
<< upgrade_service_id << " and endpoint " << endpoint_id
<< " because MAC address is empty.";
return {};
}
@@ -132,10 +129,10 @@ ByteArray BluetoothBwuHandler::HandleInitializeUpgradedMediumForEndpoint(
&BluetoothBwuHandler::OnIncomingBluetoothConnection, this,
client))) {
LOG(ERROR) << "BluetoothBwuHandler couldn't initiate the "
"BLUETOOTH upgrade for endpoint "
<< endpoint_id
<< " because it failed to start listening for "
"incoming Bluetooth connections.";
"BLUETOOTH upgrade for endpoint "
<< endpoint_id
<< " because it failed to start listening for "
"incoming Bluetooth connections.";
return {};
}
@@ -151,8 +148,7 @@ ByteArray BluetoothBwuHandler::HandleInitializeUpgradedMediumForEndpoint(
void BluetoothBwuHandler::HandleRevertInitiatorStateForService(
const std::string& upgrade_service_id) {
bluetooth_medium_.StopAcceptingConnections(upgrade_service_id);
LOG(INFO)
<< "BluetoothBwuHandler successfully reverted all Bluetooth state.";
LOG(INFO) << "BluetoothBwuHandler successfully reverted all Bluetooth state.";
}
// Accept Connection Callback.
@@ -17,8 +17,8 @@
#include "gtest/gtest.h"
#include "absl/time/time.h"
#include "connections/implementation/bwu_handler.h"
#include "connections/implementation/bluetooth_bwu_handler.h"
#include "connections/implementation/bwu_handler.h"
#include "connections/implementation/client_proxy.h"
#include "connections/implementation/endpoint_channel.h"
#include "connections/implementation/mediums/mediums.h"
+173 -195
View File
@@ -233,9 +233,9 @@ void BwuManager::InitiateBwuForEndpoint(ClientProxy* client,
RunOnBwuManagerThread("bwu-init", [this, client, endpoint_id,
proposed_medium]() {
LOG(INFO) << "InitiateBwuForEndpoint for endpoint " << endpoint_id
<< " with medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
<< " with medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
if (channel_manager_->isWifiLanConnected() &&
(proposed_medium == Medium::WIFI_HOTSPOT)) {
@@ -282,10 +282,10 @@ void BwuManager::InitiateBwuForEndpoint(ClientProxy* client,
// to Bluetooth.
if (proposed_medium == channel_medium) {
LOG(INFO) << "BwuManager ignoring the upgrade for endpoint "
<< endpoint_id
<< " because it is already connected over medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
<< endpoint_id
<< " because it is already connected over medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
return;
}
@@ -329,13 +329,12 @@ void BwuManager::InitiateBwuForEndpoint(ClientProxy* client,
CONNECTIVITY_GENERIC_WRITING_CHANNEL_IO_ERROR);
return;
}
LOG(INFO)
<< "BwuManager successfully wrote the "
"BANDWIDTH_UPGRADE_NEGOTIATION.UPGRADE_PATH_REQUEST "
"OfflineFrame while upgrading endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
LOG(INFO) << "BwuManager successfully wrote the "
"BANDWIDTH_UPGRADE_NEGOTIATION.UPGRADE_PATH_REQUEST "
"OfflineFrame while upgrading endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
return;
}
}
@@ -347,12 +346,12 @@ void BwuManager::InitiateBwuForEndpoint(ClientProxy* client,
// Because we grab the endpointChannel first thing, it is possible the
// endpointChannel is stale by the time we attempt to write over it.
if (bytes.Empty()) {
LOG(ERROR)
<< "BwuManager couldn't complete the upgrade for endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(proposed_medium)
<< " because it failed to initialize the "
"BWU_NEGOTIATION.UPGRADE_PATH_AVAILABLE OfflineFrame.";
LOG(ERROR) << "BwuManager couldn't complete the upgrade for endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium)
<< " because it failed to initialize the "
"BWU_NEGOTIATION.UPGRADE_PATH_AVAILABLE OfflineFrame.";
UpgradePathInfo info;
info.set_medium(parser::MediumToUpgradePathInfoMedium(proposed_medium));
@@ -368,12 +367,12 @@ void BwuManager::InitiateBwuForEndpoint(ClientProxy* client,
return;
}
if (!channel->Write(bytes).Ok()) {
LOG(ERROR)
<< "BwuManager couldn't complete the upgrade for endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(proposed_medium)
<< " because it failed to write the "
"BWU_NEGOTIATION.UPGRADE_PATH_AVAILABLE OfflineFrame.";
LOG(ERROR) << "BwuManager couldn't complete the upgrade for endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium)
<< " because it failed to write the "
"BWU_NEGOTIATION.UPGRADE_PATH_AVAILABLE OfflineFrame.";
UpgradePathInfo info;
info.set_medium(parser::MediumToUpgradePathInfoMedium(proposed_medium));
@@ -389,12 +388,12 @@ void BwuManager::InitiateBwuForEndpoint(ClientProxy* client,
return;
}
LOG(INFO)
<< "BwuManager successfully wrote the "
"BWU_NEGOTIATION.UPGRADE_PATH_AVAILABLE OfflineFrame while "
"upgrading endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(proposed_medium);
LOG(INFO) << "BwuManager successfully wrote the "
"BWU_NEGOTIATION.UPGRADE_PATH_AVAILABLE OfflineFrame while "
"upgrading endpoint "
<< endpoint_id << " to medium "
<< location::nearby::proto::connections::Medium_Name(
proposed_medium);
in_progress_upgrades_.emplace(endpoint_id, client);
});
}
@@ -408,11 +407,10 @@ void BwuManager::OnIncomingFrame(OfflineFrame& frame,
auto bwu_frame = frame.v1().bandwidth_upgrade_negotiation();
LOG(INFO) << "OnIncomingFrame: bwu_frame="
<< BandwidthUpgradeNegotiationFrame::EventType_Name(
bwu_frame.event_type())
<< ", endpoint_id=" << endpoint_id << ", medium="
<< location::nearby::proto::connections::Medium_Name(
medium);
<< BandwidthUpgradeNegotiationFrame::EventType_Name(
bwu_frame.event_type())
<< ", endpoint_id=" << endpoint_id << ", medium="
<< location::nearby::proto::connections::Medium_Name(medium);
if (FeatureFlags::GetInstance().GetFlags().enable_async_bandwidth_upgrade) {
RunOnBwuManagerThread(
"bwu-on-incoming-frame", [this, client, endpoint_id, bwu_frame]() {
@@ -434,9 +432,9 @@ void BwuManager::OnEndpointDisconnect(ClientProxy* client,
const std::string& endpoint_id,
CountDownLatch barrier,
DisconnectionReason reason) {
LOG(INFO)
<< "BwuManager has processed endpoint disconnection for endpoint "
<< endpoint_id << " with reason " << DisconnectionReason_Name(reason);
LOG(INFO) << "BwuManager has processed endpoint disconnection for endpoint "
<< endpoint_id << " with reason "
<< DisconnectionReason_Name(reason);
RunOnBwuManagerThread("bwu-on-endpoint-disconnect", [this, client, service_id,
endpoint_id,
barrier]() mutable {
@@ -476,9 +474,8 @@ void BwuManager::RevertBwuMediumForEndpoint(const std::string& service_id,
// approach and revert the handler for _all_ endpoints.
if (!FeatureFlags::GetInstance().GetFlags().support_multiple_bwu_mediums) {
LOG(INFO) << "Reverting medium "
<< location::nearby::proto::connections::Medium_Name(
medium)
<< " for all endpoints for service " << service_id;
<< location::nearby::proto::connections::Medium_Name(medium)
<< " for all endpoints for service " << service_id;
medium_ = Medium::UNKNOWN_MEDIUM;
BwuHandler* handler = GetHandlerForMedium(medium);
if (!handler) return;
@@ -488,16 +485,15 @@ void BwuManager::RevertBwuMediumForEndpoint(const std::string& service_id,
}
LOG(INFO) << "Reverting medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< " for service ID " << service_id << " and endpoint "
<< endpoint_id;
<< location::nearby::proto::connections::Medium_Name(medium)
<< " for service ID " << service_id << " and endpoint "
<< endpoint_id;
endpoint_id_to_bwu_medium_.erase(endpoint_id);
BwuHandler* handler = GetHandlerForMedium(medium);
if (!handler) {
LOG(INFO) << "No BWU handler can be found for "
<< location::nearby::proto::connections::Medium_Name(
medium);
<< location::nearby::proto::connections::Medium_Name(medium);
return;
}
// If |service_id| isn't of the INITIATOR-upgrade format--for example, if this
@@ -555,8 +551,8 @@ void BwuManager::OnBwuNegotiationFrame(ClientProxy* client,
const BwuNegotiationFrame frame,
const std::string& endpoint_id) {
LOG(INFO) << "OnBwuNegotiationFrame: processing incoming "
<< BwuNegotiationFrame::EventType_Name(frame.event_type())
<< " frame for endpoint " << endpoint_id;
<< BwuNegotiationFrame::EventType_Name(frame.event_type())
<< " frame for endpoint " << endpoint_id;
if (!client->IsConnectedToEndpoint(endpoint_id)) {
LOG(WARNING)
@@ -625,41 +621,41 @@ void BwuManager::OnIncomingConnection(
}
VLOG(1) << "BwuManager successfully created new EndpointChannel for "
"incoming socket";
"incoming socket";
ClientIntroduction introduction;
if (!ReadClientIntroductionFrame(channel, introduction)) {
// This was never a fully EstablishedConnection, no need to provide a
// closure reason.
channel->Close();
LOG(ERROR)
<< "BwuManager failed to read "
"BWU_NEGOTIATION.CLIENT_INTRODUCTION OfflineFrame from "
"newly-created EndpointChannel "
<< channel->GetName() << ", so the EndpointChannel was discarded.";
LOG(ERROR) << "BwuManager failed to read "
"BWU_NEGOTIATION.CLIENT_INTRODUCTION OfflineFrame from "
"newly-created EndpointChannel "
<< channel->GetName()
<< ", so the EndpointChannel was discarded.";
return;
}
VLOG(1) << "BwuManager successfully received "
"BWU_NEGOTIATION.CLIENT_INTRODUCTION "
"OfflineFrame on EndpointChannel "
<< channel->GetName();
"BWU_NEGOTIATION.CLIENT_INTRODUCTION "
"OfflineFrame on EndpointChannel "
<< channel->GetName();
if (!WriteClientIntroductionAckFrame(channel)) {
// This was never a fully EstablishedConnection, no need to provide a
// closure reason.
LOG(ERROR) << "BwuManager failed to write"
"BWU_NEGOTIATION.CLIENT_INTRODUCTION_ACK "
"OfflineFrame on EndpointChannel "
<< channel->GetName();
"BWU_NEGOTIATION.CLIENT_INTRODUCTION_ACK "
"OfflineFrame on EndpointChannel "
<< channel->GetName();
channel->Close();
return;
}
VLOG(1) << "BwuManager successfully wrote "
"BWU_NEGOTIATION.CLIENT_INTRODUCTION_ACK "
"OfflineFrame on EndpointChannel "
<< channel->GetName();
"BWU_NEGOTIATION.CLIENT_INTRODUCTION_ACK "
"OfflineFrame on EndpointChannel "
<< channel->GetName();
const std::string& endpoint_id = introduction.endpoint_id();
ClientProxy* mapped_client;
@@ -716,9 +712,9 @@ void BwuManager::RunUpgradeProtocol(
ClientProxy* client, const std::string& endpoint_id,
std::unique_ptr<EndpointChannel> new_channel, bool enable_encryption) {
LOG(INFO) << "RunUpgradeProtocol new channel @" << new_channel.get()
<< " name: " << new_channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
new_channel->GetMedium());
<< " name: " << new_channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
new_channel->GetMedium());
// First, register this new EndpointChannel as *the* EndpointChannel to use
// for this endpoint here onwards. NOTE: We pause this new EndpointChannel
// until we've completely drained the old EndpointChannel to avoid out of
@@ -748,11 +744,10 @@ void BwuManager::RunUpgradeProtocol(
// this endpoint by telling the remote device that it will not receive any
// more writes over that EndpointChannel.
if (!old_channel->Write(parser::ForBwuLastWrite()).Ok()) {
LOG(ERROR)
<< "BwuManager failed to write "
"BWU_NEGOTIATION.LAST_WRITE_TO_PRIOR_CHANNEL OfflineFrame to "
"endpoint "
<< endpoint_id << ", short-circuiting the upgrade protocol.";
LOG(ERROR) << "BwuManager failed to write "
"BWU_NEGOTIATION.LAST_WRITE_TO_PRIOR_CHANNEL OfflineFrame to "
"endpoint "
<< endpoint_id << ", short-circuiting the upgrade protocol.";
client->GetAnalyticsRecorder().OnBandwidthUpgradeError(
endpoint_id, BandwidthUpgradeResult::RESULT_IO_ERROR,
BandwidthUpgradeErrorStage::LAST_WRITE_TO_PRIOR_CHANNEL,
@@ -760,9 +755,9 @@ void BwuManager::RunUpgradeProtocol(
return;
}
VLOG(1) << "BwuManager successfully wrote "
"BWU_NEGOTIATION.LAST_WRITE_TO_PRIOR_CHANNEL "
"OfflineFrame while upgrading endpoint "
<< endpoint_id;
"BWU_NEGOTIATION.LAST_WRITE_TO_PRIOR_CHANNEL "
"OfflineFrame while upgrading endpoint "
<< endpoint_id;
// The remainder of this clean shutdown for the previous EndpointChannel will
// continue when we receive a corresponding
@@ -784,10 +779,10 @@ void BwuManager::ProcessBwuPathAvailableEvent(
const UpgradePathInfo& upgrade_path_info) {
Medium upgrade_medium =
parser::UpgradePathInfoMediumToMedium(upgrade_path_info.medium());
LOG(INFO) << "ProcessBwuPathAvailableEvent for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(
upgrade_medium);
LOG(INFO) << "ProcessBwuPathAvailableEvent for endpoint " << endpoint_id
<< " medium "
<< location::nearby::proto::connections::Medium_Name(
upgrade_medium);
if (channel_manager_->isWifiLanConnected() &&
((upgrade_medium == Medium::WIFI_HOTSPOT) ||
@@ -934,29 +929,26 @@ BwuManager::ProcessBwuPathAvailableEventInternal(
Medium medium =
parser::UpgradePathInfoMediumToMedium(upgrade_path_info.medium());
if (medium != GetBwuMediumForEndpoint(endpoint_id)) {
LOG(ERROR)
<< "ProcessBwuPathAvailableEventInternal failed for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< ". Upgrade medium not yet set for endpoint.";
LOG(ERROR) << "ProcessBwuPathAvailableEventInternal failed for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< ". Upgrade medium not yet set for endpoint.";
return {Error(OperationResultCode::NEARBY_UPGRADE_PATH_ON_WRONG_MEDIUM)};
}
BwuHandler* handler = GetHandlerForMedium(medium);
if (!handler) {
LOG(ERROR)
<< "ProcessBwuPathAvailableEventInternal failed for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< ". No handler for medium.";
LOG(ERROR) << "ProcessBwuPathAvailableEventInternal failed for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< ". No handler for medium.";
return {Error(OperationResultCode::NEARBY_UPGRADE_PATH_ON_WRONG_MEDIUM)};
}
LOG(INFO) << "ProcessBwuPathAvailableEventInternal for "
"endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(
medium);
"endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium);
// Get service ID from the old channel. Don't keep the old channel's shared
// pointer in scope longer than necessary.
@@ -967,11 +959,10 @@ BwuManager::ProcessBwuPathAvailableEventInternal(
std::shared_ptr<EndpointChannel> old_channel =
channel_manager_->GetChannelForEndpoint(endpoint_id);
if (!old_channel) {
LOG(ERROR)
<< "ProcessBwuPathAvailableEventInternal failed for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< ". Old endpoint channel is missing.";
LOG(ERROR) << "ProcessBwuPathAvailableEventInternal failed for endpoint "
<< endpoint_id << " medium "
<< location::nearby::proto::connections::Medium_Name(medium)
<< ". Old endpoint channel is missing.";
return {
Error(OperationResultCode::NEARBY_GENERIC_OLD_ENDPOINT_CHANNEL_NULL)};
}
@@ -989,11 +980,10 @@ BwuManager::ProcessBwuPathAvailableEventInternal(
old_medium == Medium::BLE && medium == Medium::WIFI_HOTSPOT) {
disable_ble_scanning = true;
if (enable_ble_v2) {
LOG(INFO)
<< "For Apple OS, if upgrade from BLE_V2 to WIFI_HOTSPOT, "
"we need to pause "
"BLE_V2 scanning because it can interfere with WIFI "
"Hotspot scanning and connection.";
LOG(INFO) << "For Apple OS, if upgrade from BLE_V2 to WIFI_HOTSPOT, "
"we need to pause "
"BLE_V2 scanning because it can interfere with WIFI "
"Hotspot scanning and connection.";
ble_v2_medium_.PauseMediumScanning();
}
}
@@ -1016,8 +1006,8 @@ BwuManager::ProcessBwuPathAvailableEventInternal(
if (result.has_error() || !result.has_value()) {
LOG(ERROR) << "BwuManager failed to create an endpoint "
"channel to endpoint"
<< endpoint_id << ", aborting upgrade.";
"channel to endpoint"
<< endpoint_id << ", aborting upgrade.";
client->GetAnalyticsRecorder().OnBandwidthUpgradeError(
endpoint_id, BandwidthUpgradeResult::RESULT_IO_ERROR,
BandwidthUpgradeErrorStage::SOCKET_CREATION,
@@ -1058,9 +1048,9 @@ BwuManager::ProcessBwuPathAvailableEventInternal(
new_channel->Close();
LOG(ERROR) << "BwuManager failed to read "
"BWU_NEGOTIATION.CLIENT_INTRODUCTION_ACK "
"OfflineFrame to newly-created EndpointChannel "
<< new_channel->GetName() << ", aborting upgrade.";
"BWU_NEGOTIATION.CLIENT_INTRODUCTION_ACK "
"OfflineFrame to newly-created EndpointChannel "
<< new_channel->GetName() << ", aborting upgrade.";
return {Error(
OperationResultCode::
NEARBY_GENERIC_READ_CLIENT_INTRODUCTION_ACK_FRAME_TYPE_ERROR)};
@@ -1068,10 +1058,10 @@ BwuManager::ProcessBwuPathAvailableEventInternal(
}
LOG(INFO) << "BwuManager successfully wrote "
"BWU_NEGOTIATION.CLIENT_INTRODUCTION OfflineFrame to "
"newly-created EndpointChannel "
<< new_channel->GetName() << " while upgrading endpoint "
<< endpoint_id;
"BWU_NEGOTIATION.CLIENT_INTRODUCTION OfflineFrame to "
"newly-created EndpointChannel "
<< new_channel->GetName() << " while upgrading endpoint "
<< endpoint_id;
// Set the AnalyticsRecorder so that the future closure of this
// EndpointChannel will be recorded.
@@ -1082,10 +1072,10 @@ void BwuManager::RunUpgradeFailedProtocol(
ClientProxy* client, const std::string& endpoint_id,
const UpgradePathInfo& upgrade_path_info) {
LOG(INFO) << "RunUpgradeFailedProtocol for endpoint " << endpoint_id
<< " medium "
<< location::nearby::proto::connections::Medium_Name(
parser::UpgradePathInfoMediumToMedium(
upgrade_path_info.medium()));
<< " medium "
<< location::nearby::proto::connections::Medium_Name(
parser::UpgradePathInfoMediumToMedium(
upgrade_path_info.medium()));
// We attempted to connect to the new medium that the remote device has set up
// for us but we failed. We need to let the remote device know so that they
// can pick another medium for us to try.
@@ -1108,10 +1098,9 @@ void BwuManager::RunUpgradeFailedProtocol(
if (!channel->Write(parser::ForBwuFailure(upgrade_path_info)).Ok()) {
channel->Close(DisconnectionReason::IO_ERROR);
LOG(ERROR)
<< "BwuManager failed to write BWU_NEGOTIATION.UPGRADE_FAILURE "
"OfflineFrame to endpoint "
<< endpoint_id << ", short-circuiting the upgrade protocol.";
LOG(ERROR) << "BwuManager failed to write BWU_NEGOTIATION.UPGRADE_FAILURE "
"OfflineFrame to endpoint "
<< endpoint_id << ", short-circuiting the upgrade protocol.";
client->GetAnalyticsRecorder().OnBandwidthUpgradeError(
endpoint_id, BandwidthUpgradeResult::RESULT_IO_ERROR,
BandwidthUpgradeErrorStage::NETWORK_AVAILABLE,
@@ -1125,24 +1114,23 @@ void BwuManager::RunUpgradeFailedProtocol(
}
in_progress_upgrades_.erase(endpoint_id);
LOG(INFO) << "BwuManager has informed endpoint " << endpoint_id
<< " that the bandwidth upgrade failed.";
<< " that the bandwidth upgrade failed.";
}
bool BwuManager::ReadClientIntroductionFrame(EndpointChannel* channel,
ClientIntroduction& introduction) {
LOG(INFO) << "ReadClientIntroductionFrame with channel name: "
<< channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
<< channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
CancelableAlarm timeout_alarm(
"BwuManager::ReadClientIntroductionFrame",
[channel]() {
LOG(ERROR) << "In BwuManager, failed to read the "
"ClientIntroductionFrame after "
<< absl::FormatDuration(
kReadClientIntroductionFrameTimeout)
<< ". Timing out and closing EndpointChannel "
<< channel->GetType();
"ClientIntroductionFrame after "
<< absl::FormatDuration(kReadClientIntroductionFrameTimeout)
<< ". Timing out and closing EndpointChannel "
<< channel->GetType();
channel->Close();
},
kReadClientIntroductionFrameTimeout, &alarm_executor_);
@@ -1152,17 +1140,16 @@ bool BwuManager::ReadClientIntroductionFrame(EndpointChannel* channel,
auto transfer(parser::FromBytes(data.result()));
if (!transfer.ok()) {
LOG(ERROR) << "In ReadClientIntroductionFrame, attempted to read a "
"ClientIntroductionFrame from EndpointChannel "
<< channel->GetType()
<< " but was unable to obtain any OfflineFrame.";
"ClientIntroductionFrame from EndpointChannel "
<< channel->GetType()
<< " but was unable to obtain any OfflineFrame.";
return false;
}
OfflineFrame frame = transfer.result();
if (!frame.has_v1() || !frame.v1().has_bandwidth_upgrade_negotiation()) {
LOG(ERROR)
<< "In ReadClientIntroductionFrame, expected a "
"BANDWIDTH_UPGRADE_NEGOTIATION v1 OfflineFrame but got a "
<< parser::GetFrameType(frame) << " frame instead.";
LOG(ERROR) << "In ReadClientIntroductionFrame, expected a "
"BANDWIDTH_UPGRADE_NEGOTIATION v1 OfflineFrame but got a "
<< parser::GetFrameType(frame) << " frame instead.";
return false;
}
if (frame.v1().bandwidth_upgrade_negotiation().event_type() !=
@@ -1183,9 +1170,9 @@ bool BwuManager::ReadClientIntroductionFrame(EndpointChannel* channel,
bool BwuManager::ReadClientIntroductionAckFrame(EndpointChannel* channel) {
LOG(INFO) << "ReadClientIntroductionAckFrame with channel name: "
<< channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
<< channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
CancelableAlarm timeout_alarm(
"BwuManager::ReadClientIntroductionAckFrame",
[channel]() {
@@ -1214,9 +1201,9 @@ bool BwuManager::ReadClientIntroductionAckFrame(EndpointChannel* channel) {
bool BwuManager::WriteClientIntroductionAckFrame(EndpointChannel* channel) {
LOG(INFO) << "WriteClientIntroductionAckFrame channel name: "
<< channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
<< channel->GetName() << ", medium: "
<< location::nearby::proto::connections::Medium_Name(
channel->GetMedium());
return channel->Write(parser::ForBwuIntroductionAck()).Ok();
}
@@ -1243,10 +1230,10 @@ void BwuManager::ProcessLastWriteToPriorChannelEvent(
}
LOG(INFO) << "ProcessLastWriteToPriorChannelEvent: service_id="
<< previous_endpoint_channel->GetServiceId()
<< ", endpoint_id=" << endpoint_id << ", medium="
<< location::nearby::proto::connections::Medium_Name(
previous_endpoint_channel->GetMedium());
<< previous_endpoint_channel->GetServiceId()
<< ", endpoint_id=" << endpoint_id << ", medium="
<< location::nearby::proto::connections::Medium_Name(
previous_endpoint_channel->GetMedium());
if (!previous_endpoint_channel->Write(parser::ForBwuSafeToClose()).Ok()) {
previous_endpoint_channel->Close(DisconnectionReason::IO_ERROR);
@@ -1255,10 +1242,9 @@ void BwuManager::ProcessLastWriteToPriorChannelEvent(
previous_endpoint_channels_.erase(endpoint_id);
LOG(ERROR) << "BwuManager failed to write "
"BWU_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL "
"OfflineFrame to endpoint "
<< endpoint_id
<< ", short-circuiting the upgrade protocol.";
"BWU_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL "
"OfflineFrame to endpoint "
<< endpoint_id << ", short-circuiting the upgrade protocol.";
client->GetAnalyticsRecorder().OnBandwidthUpgradeError(
endpoint_id, BandwidthUpgradeResult::RESULT_IO_ERROR,
BandwidthUpgradeErrorStage::SAFE_TO_CLOSE_PRIOR_CHANNEL,
@@ -1266,9 +1252,9 @@ void BwuManager::ProcessLastWriteToPriorChannelEvent(
return;
}
VLOG(1) << "BwuManager successfully wrote "
"BWU_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL "
"OfflineFrame while trying to upgrade endpoint "
<< endpoint_id;
"BWU_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL "
"OfflineFrame while trying to upgrade endpoint "
<< endpoint_id;
// The upgrade protocol's clean shutdown of the prior EndpointChannel will
// conclude when we receive a corresponding
@@ -1279,7 +1265,7 @@ void BwuManager::ProcessLastWriteToPriorChannelEvent(
void BwuManager::ProcessSafeToClosePriorChannelEvent(
ClientProxy* client, const std::string& endpoint_id) {
LOG(INFO) << "ProcessSafeToClosePriorChannelEvent for endpoint "
<< endpoint_id;
<< endpoint_id;
// By this point in the upgrade protocol, there's no more writes happening
// over the prior EndpointChannel, and the remote device has given us the
// go-ahead to close this EndpointChannel [1], so we can safely close it
@@ -1302,10 +1288,9 @@ void BwuManager::ProcessSafeToClosePriorChannelEvent(
<< endpoint_id << ", can't complete the upgrade protocol.";
return;
}
LOG(INFO)
<< "BwuManager successfully received a "
<< "BWU_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL OfflineFrame while "
<< "trying to upgrade endpoint " << endpoint_id;
LOG(INFO) << "BwuManager successfully received a "
<< "BWU_NEGOTIATION.SAFE_TO_CLOSE_PRIOR_CHANNEL OfflineFrame while "
<< "trying to upgrade endpoint " << endpoint_id;
// Each encrypted message includes the key to decrypt the next message. The
// disconnect message is optional and may not be received under normal
@@ -1313,7 +1298,7 @@ void BwuManager::ProcessSafeToClosePriorChannelEvent(
// serial crypto context does not increment here.
previous_endpoint_channel->DisableEncryption();
LOG(INFO) << "[safe-to-disconnect] Sending "
"DISCONNECTION frame with request 0, ack 0";
"DISCONNECTION frame with request 0, ack 0";
previous_endpoint_channel->Write(
parser::ForDisconnection(/* request_safe_to_disconnect */ false,
/* ack_safe_to_disconnect */ false));
@@ -1326,11 +1311,10 @@ void BwuManager::ProcessSafeToClosePriorChannelEvent(
previous_endpoint_channel->Read();
previous_endpoint_channel->Close(DisconnectionReason::UPGRADED);
VLOG(1)
<< "BwuManager cleanly shut down prior "
<< previous_endpoint_channel->GetType()
<< " EndpointChannel to conclude upgrade protocol for endpoint "
<< endpoint_id;
VLOG(1) << "BwuManager cleanly shut down prior "
<< previous_endpoint_channel->GetType()
<< " EndpointChannel to conclude upgrade protocol for endpoint "
<< endpoint_id;
// Now the upgrade protocol has completed, record analytics for this new
// upgraded bandwidth connection...
@@ -1346,8 +1330,8 @@ void BwuManager::ProcessSafeToClosePriorChannelEvent(
if (!channel) {
LOG(ERROR) << "BwuManager attempted to resume the current "
"EndpointChannel with endpoint "
<< endpoint_id << ", but none was found.";
"EndpointChannel with endpoint "
<< endpoint_id << ", but none was found.";
return;
}
@@ -1371,10 +1355,10 @@ void BwuManager::ProcessUpgradeFailureEvent(
const UpgradePathInfo& upgrade_info, BandwidthUpgradeResult result,
bool record_analytic, OperationResultCode operation_result_code) {
LOG(INFO) << "ProcessUpgradeFailureEvent for endpoint " << endpoint_id
<< " from medium: "
<< location::nearby::proto::connections::Medium_Name(
parser::UpgradePathInfoMediumToMedium(
upgrade_info.medium()));
<< " from medium: "
<< location::nearby::proto::connections::Medium_Name(
parser::UpgradePathInfoMediumToMedium(
upgrade_info.medium()));
// The remote device failed to upgrade to the new medium we set up for them.
// That's alright! We'll just try the next available medium (if there is one).
in_progress_upgrades_.erase(endpoint_id);
@@ -1440,9 +1424,8 @@ void BwuManager::TryNextBestUpgradeMediums(
std::vector<Medium> upgrade_mediums) {
Medium next_medium = ChooseBestUpgradeMedium(endpoint_id, upgrade_mediums);
LOG(INFO) << "Try Next Best Medium for endpoint " << endpoint_id
<< " after ChooseBestUpgradeMedium: "
<< location::nearby::proto::connections::Medium_Name(
next_medium);
<< " after ChooseBestUpgradeMedium: "
<< location::nearby::proto::connections::Medium_Name(next_medium);
// If current medium is not WiFi and we have not succeeded with upgrading yet,
// retry upgrade.
@@ -1451,8 +1434,7 @@ void BwuManager::TryNextBestUpgradeMediums(
Medium current_medium =
channel ? channel->GetMedium() : Medium::UNKNOWN_MEDIUM;
VLOG(1) << "current_medium: "
<< location::nearby::proto::connections::Medium_Name(
current_medium);
<< location::nearby::proto::connections::Medium_Name(current_medium);
if (current_medium != Medium::WIFI_LAN &&
(next_medium == current_medium || next_medium == Medium::UNKNOWN_MEDIUM ||
upgrade_mediums.empty())) {
@@ -1473,9 +1455,8 @@ void BwuManager::TryNextBestUpgradeMediums(
// Now that we've successfully picked a new upgrade medium to try,
// re-initiate the bandwidth upgrade.
LOG(INFO) << "BwuManager is attempting to upgrade endpoint "
<< endpoint_id
<< " again with a new bandwidth upgrade medium.";
LOG(INFO) << "BwuManager is attempting to upgrade endpoint " << endpoint_id
<< " again with a new bandwidth upgrade medium.";
InitiateBwuForEndpoint(client, endpoint_id, next_medium);
}
@@ -1561,11 +1542,11 @@ Medium BwuManager::ChooseBestUpgradeMedium(
location::nearby::proto::connections::Medium_Name(medium),
"; ");
}
LOG(INFO)
<< "Current upgrade medium "
<< location::nearby::proto::connections::Medium_Name(current_medium)
<< " is not supported by the remote endpoint (supported mediums: "
<< mediums_string << ")";
LOG(INFO) << "Current upgrade medium "
<< location::nearby::proto::connections::Medium_Name(
current_medium)
<< " is not supported by the remote endpoint (supported mediums: "
<< mediums_string << ")";
}
return Medium::UNKNOWN_MEDIUM;
@@ -1593,8 +1574,7 @@ void BwuManager::RetryUpgradesAfterDelay(ClientProxy* client,
retry_upgrade_alarms_.emplace(endpoint_id,
std::make_pair(std::move(alarm), delay));
retry_delays_[endpoint_id] = delay;
LOG(INFO) << "Retry bandwidth upgrade after "
<< absl::FormatDuration(delay);
LOG(INFO) << "Retry bandwidth upgrade after " << absl::FormatDuration(delay);
}
void BwuManager::AttemptToRecordBandwidthUpgradeErrorForUnknownEndpoint(
@@ -1611,18 +1591,16 @@ void BwuManager::AttemptToRecordBandwidthUpgradeErrorForUnknownEndpoint(
// make for them.
client->GetAnalyticsRecorder().OnBandwidthUpgradeError(
endpoint_id, result, error_stage, operation_result_code);
LOG(INFO) << "BwuManager got error "
<< BandwidthUpgradeResult_Name(result) << " at stage "
<< BandwidthUpgradeErrorStage_Name(error_stage)
<< " when upgrading endpoint " << endpoint_id;
LOG(INFO) << "BwuManager got error " << BandwidthUpgradeResult_Name(result)
<< " at stage " << BandwidthUpgradeErrorStage_Name(error_stage)
<< " when upgrading endpoint " << endpoint_id;
}
// Otherwise, we have no way of knowing which endpoint was trying to connect
// to us :(
LOG(INFO) << "BwuManager got error "
<< BandwidthUpgradeResult_Name(result) << " at stage "
<< BandwidthUpgradeErrorStage_Name(error_stage)
<< ", but we don't know which endpoint was trying to "
"connect to us, so skipping analytics for his error.";
LOG(INFO) << "BwuManager got error " << BandwidthUpgradeResult_Name(result)
<< " at stage " << BandwidthUpgradeErrorStage_Name(error_stage)
<< ", but we don't know which endpoint was trying to "
"connect to us, so skipping analytics for his error.";
}
bool BwuManager::NeedToSwitchRole(
+69 -82
View File
@@ -109,8 +109,8 @@ ClientProxy::ClientProxy(::nearby::analytics::EventLogger* event_logger)
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: " << local_safe_to_disconnect_version_;
// Generate a 7 bits dedup value.
absl::BitGen bitgen;
dct_dedup_ = absl::Uniform(bitgen, 0, 1 << 7);
@@ -127,21 +127,20 @@ std::string ClientProxy::GetLocalEndpointId() {
return GetEndpointIdForDct().value();
} else {
if (!local_endpoint_id_.empty()) {
LOG(INFO) << __func__ << ": Reusing cached endpoint id: "
<< local_endpoint_id_;
LOG(INFO) << __func__
<< ": Reusing cached endpoint id: " << local_endpoint_id_;
return local_endpoint_id_;
}
if (external_device_provider_ == nullptr) {
local_endpoint_id_ = GenerateLocalEndpointId();
LOG(INFO) << __func__ << ": Locally generating endpoint id: "
<< local_endpoint_id_;
LOG(INFO) << __func__
<< ": Locally generating endpoint id: " << local_endpoint_id_;
} else {
local_endpoint_id_ =
external_device_provider_->GetLocalDevice()->GetEndpointId();
LOG(INFO)
<< __func__
<< ": From external device provider, populating endpoint id: "
<< local_endpoint_id_;
LOG(INFO) << __func__
<< ": From external device provider, populating endpoint id: "
<< local_endpoint_id_;
}
return local_endpoint_id_;
}
@@ -184,10 +183,10 @@ std::string ClientProxy::GenerateLocalEndpointId() {
if (!cached_endpoint_id_.empty()) {
if (stable_endpoint_id_mode_) {
LOG(INFO) << "ClientProxy [Local Endpoint Re-using cached "
"endpoint id due to in stable endpoint id mode]: "
"client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
"endpoint id due to in stable endpoint id mode]: "
"client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
return cached_endpoint_id_;
}
}
@@ -195,9 +194,9 @@ std::string ClientProxy::GenerateLocalEndpointId() {
if (high_vis_mode_) {
if (!cached_endpoint_id_.empty()) {
LOG(INFO) << "ClientProxy [Local Endpoint Re-using cached "
"endpoint id]: client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
"endpoint id]: client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
return cached_endpoint_id_;
}
}
@@ -231,8 +230,7 @@ void ClientProxy::StartedAdvertising(
operation_result_with_mediums,
const AdvertisingOptions& advertising_options) {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [StartedAdvertising]: client="
<< GetClientId();
LOG(INFO) << "ClientProxy [StartedAdvertising]: client=" << GetClientId();
if (IsFeatureUseStableEndpointIdEnabled()) {
if (stable_endpoint_id_mode_) {
@@ -268,8 +266,7 @@ void ClientProxy::StartedAdvertising(
void ClientProxy::StoppedAdvertising() {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [StoppedAdvertising]: client="
<< GetClientId();
LOG(INFO) << "ClientProxy [StoppedAdvertising]: client=" << GetClientId();
if (IsAdvertising()) {
advertising_info_.Clear();
@@ -436,16 +433,14 @@ void ClientProxy::OnEndpointFound(
location::nearby::proto::connections::Medium medium) {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [Endpoint Found]: [enter] id="
<< endpoint_id << "; service=" << service_id
<< "; info=" << absl::BytesToHexString(endpoint_info.data())
<< "; medium="
<< location::nearby::proto::connections::Medium_Name(
medium);
LOG(INFO) << "ClientProxy [Endpoint Found]: [enter] id=" << endpoint_id
<< "; service=" << service_id
<< "; info=" << absl::BytesToHexString(endpoint_info.data())
<< "; medium="
<< location::nearby::proto::connections::Medium_Name(medium);
if (!IsDiscoveringServiceId(service_id)) {
LOG(INFO) << "ClientProxy [Endpoint Found]: Ignoring event for id="
<< endpoint_id
<< " because this client is not discovering.";
<< endpoint_id << " because this client is not discovering.";
return;
}
@@ -467,11 +462,10 @@ void ClientProxy::OnEndpointLost(const std::string& service_id,
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [Endpoint Lost]: [enter] id=" << endpoint_id
<< "; service=" << service_id;
<< "; service=" << service_id;
if (!IsDiscoveringServiceId(service_id)) {
LOG(INFO) << "ClientProxy [Endpoint Lost]: Ignoring event for id="
<< endpoint_id
<< " because this client is not discovering.";
<< endpoint_id << " because this client is not discovering.";
return;
}
@@ -520,10 +514,9 @@ void ClientProxy::OnConnectionInitiated(
// (can not use c++17 features, until chromium does) we unpack manually.
auto& pair_iter = result.first;
bool inserted = result.second;
LOG(INFO)
<< "ClientProxy [Connection Initiated]: add Connection: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< "; inserted=" << inserted;
LOG(INFO) << "ClientProxy [Connection Initiated]: add Connection: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< "; inserted=" << inserted;
DCHECK(inserted);
const ConnectionPair& item = pair_iter->second;
// Notify the client.
@@ -547,8 +540,8 @@ void ClientProxy::OnConnectionAccepted(const std::string& endpoint_id) {
if (!HasPendingConnectionToEndpoint(endpoint_id)) {
LOG(INFO) << "ClientProxy [Connection Accepted]: no pending "
"connection; endpoint_id="
<< endpoint_id;
"connection; endpoint_id="
<< endpoint_id;
return;
}
@@ -567,8 +560,8 @@ void ClientProxy::OnConnectionRejected(const std::string& endpoint_id,
if (!HasPendingConnectionToEndpoint(endpoint_id)) {
LOG(INFO) << "ClientProxy [Connection Rejected]: no pending "
"connection; endpoint_id="
<< endpoint_id;
"connection; endpoint_id="
<< endpoint_id;
return;
}
@@ -591,7 +584,7 @@ void ClientProxy::OnBandwidthChanged(const std::string& endpoint_id,
item->first.connection_listener.bandwidth_changed_cb(endpoint_id,
new_medium);
LOG(INFO) << "ClientProxy [reporting onBandwidthChanged]: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id;
<< GetClientId() << "; endpoint_id=" << endpoint_id;
}
}
@@ -1040,9 +1033,9 @@ void ClientProxy::OnPayload(const std::string& endpoint_id, Payload payload) {
LookupConnection(endpoint_id);
if (item != nullptr) {
LOG(INFO) << "ClientProxy [reporting onPayloadReceived]: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< " ; payload {id:" << payload.GetId()
<< ", type:" << payload.GetType() << "}";
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< " ; payload {id:" << payload.GetId()
<< ", type:" << payload.GetType() << "}";
item->second.payload_cb(endpoint_id, std::move(payload));
}
}
@@ -1072,15 +1065,14 @@ void ClientProxy::OnPayloadProgress(const std::string& endpoint_id,
if (info.status == PayloadProgressInfo::Status::kInProgress) {
VLOG(1) << "ClientProxy [reporting onPayloadProgress]: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< "; payload_id=" << info.payload_id
<< ", payload_status=" << ToString(info.status);
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< "; payload_id=" << info.payload_id
<< ", payload_status=" << ToString(info.status);
} else {
LOG(INFO)
<< "ClientProxy [reporting onPayloadProgress]: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< "; payload_id=" << info.payload_id
<< ", payload_status=" << ToString(info.status);
LOG(INFO) << "ClientProxy [reporting onPayloadProgress]: client="
<< GetClientId() << "; endpoint_id=" << endpoint_id
<< "; payload_id=" << info.payload_id
<< ", payload_status=" << ToString(info.status);
}
}
}
@@ -1142,15 +1134,14 @@ v3::ConnectionListeningOptions ClientProxy::GetListeningOptions() const {
void ClientProxy::EnterHighVisibilityMode() {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [EnterHighVisibilityMode]: client="
<< GetClientId();
<< GetClientId();
high_vis_mode_ = true;
}
void ClientProxy::ExitHighVisibilityMode() {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [ExitHighVisibilityMode]: client="
<< GetClientId();
LOG(INFO) << "ClientProxy [ExitHighVisibilityMode]: client=" << GetClientId();
high_vis_mode_ = false;
ScheduleClearCachedEndpointIdAlarm();
@@ -1159,7 +1150,7 @@ void ClientProxy::ExitHighVisibilityMode() {
void ClientProxy::EnterStableEndpointIdMode() {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [EnterStableEndpointIdMode]: client="
<< GetClientId();
<< GetClientId();
stable_endpoint_id_mode_ = true;
}
@@ -1167,7 +1158,7 @@ void ClientProxy::EnterStableEndpointIdMode() {
void ClientProxy::ExitStableEndpointIdMode() {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [ExitStableEndpointIdMode]: client="
<< GetClientId();
<< GetClientId();
stable_endpoint_id_mode_ = false;
ScheduleClearCachedEndpointIdAlarm();
@@ -1178,38 +1169,34 @@ void ClientProxy::ScheduleClearCachedEndpointIdAlarm() {
if (cached_endpoint_id_.empty()) {
VLOG(1) << "ClientProxy [There is no cached local high power "
"advertising endpoint Id]: client="
<< GetClientId();
"advertising endpoint Id]: client="
<< GetClientId();
return;
}
if (IsFeatureUseStableEndpointIdEnabled() && HasOngoingConnection()) {
VLOG(1) << "ClientProxy [Handle clearing cached endpoint ID "
"during disconnection]: client="
<< GetClientId();
"during disconnection]: client="
<< GetClientId();
return;
}
// Schedule to clear cache high visibility mode advertisement endpoint id in
// 30s.
LOG(INFO) << "ClientProxy [High Visibility Mode Adv, Schedule to "
"Clear Cache EndpointId]: client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
cached_endpoint_id_alarm_ =
std::make_unique<CancelableAlarm>(
"clear_high_power_endpoint_id_cache",
[this]() {
MutexLock lock(&mutex_);
LOG(INFO)
<< "ClientProxy [Cleared cached local high power advertising "
"endpoint Id.]: client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
cached_endpoint_id_.clear();
},
kHighPowerAdvertisementEndpointIdCacheTimeout,
&single_thread_executor_);
"Clear Cache EndpointId]: client="
<< GetClientId() << "; cached_endpoint_id_=" << cached_endpoint_id_;
cached_endpoint_id_alarm_ = std::make_unique<CancelableAlarm>(
"clear_high_power_endpoint_id_cache",
[this]() {
MutexLock lock(&mutex_);
LOG(INFO) << "ClientProxy [Cleared cached local high power advertising "
"endpoint Id.]: client="
<< GetClientId()
<< "; cached_endpoint_id_=" << cached_endpoint_id_;
cached_endpoint_id_.clear();
},
kHighPowerAdvertisementEndpointIdCacheTimeout, &single_thread_executor_);
}
void ClientProxy::CancelClearCachedEndpointIdAlarm() {
@@ -1250,7 +1237,7 @@ std::int32_t ClientProxy::GetLocalMultiplexSocketBitmask() const {
? kWifiLanMultiplexEnabled
: 0);
LOG(INFO) << "ClientProxy [GetLocalMultiplexSocketBitmask]: "
<< multiplex_bitmask;
<< multiplex_bitmask;
return multiplex_bitmask;
}
return 0;
@@ -1263,7 +1250,7 @@ void ClientProxy::SetRemoteMultiplexSocketBitmask(
item->first.remote_multiplex_socket_bitmask =
remote_multiplex_socket_bitmask;
LOG(INFO) << "ClientProxy [SetRemoteMultiplexSocketBitmask]: "
<< remote_multiplex_socket_bitmask;
<< remote_multiplex_socket_bitmask;
}
}
@@ -1272,7 +1259,7 @@ bool ClientProxy::IsLocalMultiplexSocketSupported(Medium medium) {
switch (medium) {
case Medium::BLUETOOTH:
LOG(INFO) << "ClientProxy [IsLocalMultiplexSocketSupported]: "
<< (bitmask & kBtMultiplexEnabled);
<< (bitmask & kBtMultiplexEnabled);
return (bitmask & kBtMultiplexEnabled) != 0;
case Medium::WIFI_LAN:
return (bitmask & kWifiLanMultiplexEnabled) != 0;
@@ -1315,7 +1302,7 @@ void ClientProxy::SetWebRtcNonCellular(bool webrtc_non_cellular) {
std::string allow_webrtc_cellular_str =
webrtc_non_cellular ? "disallow" : "allow";
LOG(INFO) << "ClientProxy: client=" << GetClientId()
<< allow_webrtc_cellular_str << " to use mobile data.",
<< allow_webrtc_cellular_str << " to use mobile data.",
webrtc_non_cellular_ = webrtc_non_cellular;
}
@@ -44,8 +44,8 @@ std::string ConnectionsAuthenticationTransport::ReadMessage() const {
return response.result().string_data();
}
LOG(WARNING) << "ConnectionsAuthenticationTransport: read failed "
"with exception/result: "
<< response.exception();
"with exception/result: "
<< response.exception();
return "";
}
+23 -32
View File
@@ -73,10 +73,9 @@ bool HandleEncryptionSuccess(const std::string& endpoint_id,
void CancelableAlarmRunnable(ClientProxy* client,
const std::string& endpoint_id,
EndpointChannel* endpoint_channel) {
LOG(INFO) << "Timing out encryption for client "
<< client->GetClientId()
<< " to endpoint_id=" << endpoint_id << " after "
<< absl::FormatDuration(kTimeout);
LOG(INFO) << "Timing out encryption for client " << client->GetClientId()
<< " to endpoint_id=" << endpoint_id << " after "
<< absl::FormatDuration(kTimeout);
endpoint_channel->Close();
}
@@ -126,9 +125,8 @@ class ServerRunnable final {
return;
}
LOG(INFO)
<< "In StartServer(), read UKEY2 Message 1 from endpoint(id="
<< endpoint_id_ << ").";
LOG(INFO) << "In StartServer(), read UKEY2 Message 1 from endpoint(id="
<< endpoint_id_ << ").";
// Message 2 (Server Init)
std::unique_ptr<std::string> server_init =
@@ -149,9 +147,8 @@ class ServerRunnable final {
return;
}
LOG(INFO)
<< "In StartServer(), wrote UKEY2 Message 2 to endpoint(id="
<< endpoint_id_ << ").";
LOG(INFO) << "In StartServer(), wrote UKEY2 Message 2 to endpoint(id="
<< endpoint_id_ << ").";
// Message 3 (Client Finish)
ExceptionOr<ByteArray> client_finish = channel_->Read();
@@ -175,9 +172,8 @@ class ServerRunnable final {
return;
}
LOG(INFO)
<< "In StartServer(), read UKEY2 Message 3 from endpoint(id="
<< endpoint_id_ << ").";
LOG(INFO) << "In StartServer(), read UKEY2 Message 3 from endpoint(id="
<< endpoint_id_ << ").";
timeout_alarm.Cancel();
@@ -191,7 +187,7 @@ class ServerRunnable final {
private:
void LogException() const {
LOG(ERROR) << "In StartServer(), UKEY2 failed with endpoint(id="
<< endpoint_id_ << ").";
<< endpoint_id_ << ").";
}
void HandleHandshakeOrIoException(CancelableAlarm* timeout_alarm) {
@@ -204,10 +200,9 @@ class ServerRunnable final {
Exception write_exception =
channel_->Write(ByteArray(*parse_result.alert_to_send));
if (!write_exception.Ok()) {
LOG(WARNING)
<< "In StartServer(), client " << client_->GetClientId()
<< " failed to pass the alert error message to endpoint(id="
<< endpoint_id_ << ").";
LOG(WARNING) << "In StartServer(), client " << client_->GetClientId()
<< " failed to pass the alert error message to endpoint(id="
<< endpoint_id_ << ").";
}
}
@@ -263,9 +258,8 @@ class ClientRunnable final {
return;
}
LOG(INFO)
<< "In StartClient(), wrote UKEY2 Message 1 to endpoint(id="
<< endpoint_id_ << ").";
LOG(INFO) << "In StartClient(), wrote UKEY2 Message 1 to endpoint(id="
<< endpoint_id_ << ").";
// Message 2 (Server Init)
ExceptionOr<ByteArray> server_init = channel_->Read();
@@ -289,9 +283,8 @@ class ClientRunnable final {
return;
}
LOG(INFO)
<< "In StartClient(), read UKEY2 Message 2 from endpoint(id="
<< endpoint_id_ << ").";
LOG(INFO) << "In StartClient(), read UKEY2 Message 2 from endpoint(id="
<< endpoint_id_ << ").";
// Message 3 (Client Finish)
std::unique_ptr<std::string> client_finish =
@@ -312,9 +305,8 @@ class ClientRunnable final {
return;
}
LOG(INFO)
<< "In StartClient(), wrote UKEY2 Message 3 to endpoint(id="
<< endpoint_id_ << ").";
LOG(INFO) << "In StartClient(), wrote UKEY2 Message 3 to endpoint(id="
<< endpoint_id_ << ").";
timeout_alarm.Cancel();
@@ -328,7 +320,7 @@ class ClientRunnable final {
private:
void LogException() const {
LOG(ERROR) << "In StartClient(), UKEY2 failed with endpoint(id="
<< endpoint_id_ << ").";
<< endpoint_id_ << ").";
}
void HandleHandshakeOrIoException(CancelableAlarm* timeout_alarm) {
@@ -341,10 +333,9 @@ class ClientRunnable final {
Exception write_exception =
channel_->Write(ByteArray(*parse_result.alert_to_send));
if (!write_exception.Ok()) {
LOG(WARNING)
<< "In StartClient(), client " << client_->GetClientId()
<< " failed to pass the alert error message to endpoint(id="
<< endpoint_id_ << ").";
LOG(WARNING) << "In StartClient(), client " << client_->GetClientId()
<< " failed to pass the alert error message to endpoint(id="
<< endpoint_id_ << ").";
}
}
@@ -103,7 +103,7 @@ std::function<void(const ByteArray&)> MakeDataMonitor(absl::string_view label,
*capture += s;
}
LOG(INFO) << "source='" << label << "'"
<< "; message='" << s << "'";
<< "; message='" << s << "'";
};
}
@@ -243,11 +243,11 @@ TEST(BaseEndpointChannelManagerTest, RegisterChannelEncryptedReadwrite) {
channel_a_raw->Close(DisconnectionReason::LOCAL_DISCONNECTION);
channel_b_raw->Close(DisconnectionReason::REMOTE_DISCONNECTION);
ecm_a.UnregisterChannelForEndpoint(
std::string(kEndpointId), DisconnectionReason::LOCAL_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
std::string(kEndpointId), DisconnectionReason::LOCAL_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
ecm_b.UnregisterChannelForEndpoint(
std::string(kEndpointId), DisconnectionReason::REMOTE_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
std::string(kEndpointId), DisconnectionReason::REMOTE_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
}
TEST(BaseEndpointChannelManagerTest, ReplaceChannelNoEncrypted) {
@@ -311,11 +311,12 @@ TEST(BaseEndpointChannelManagerTest, ReplaceChannelNoEncrypted) {
channel_a_raw->Close(DisconnectionReason::LOCAL_DISCONNECTION);
channel_b_raw->Close(DisconnectionReason::REMOTE_DISCONNECTION);
ecm_a.UnregisterChannelForEndpoint(
std::string(kEndpointId), DisconnectionReason::LOCAL_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
std::string(kEndpointId), DisconnectionReason::LOCAL_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
ecm_b.UnregisterChannelForEndpoint(
std::string(kEndpointId), DisconnectionReason::REMOTE_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);}
std::string(kEndpointId), DisconnectionReason::REMOTE_DISCONNECTION,
ConnectionsLog::EstablishedConnection::SAFE_DISCONNECTION);
}
} // namespace
} // namespace connections
@@ -206,7 +206,7 @@ ExceptionOr<OfflineFrame> EndpointManager::TryDecryptFrame(
ExceptionOr<ByteArray> decrypted = endpoint_channel->TryDecrypt(data);
if (decrypted.ok()) {
VLOG(1) << "Message decrypted after "
<< SystemClock::ElapsedRealtime() - start_time;
<< SystemClock::ElapsedRealtime() - start_time;
return parser::FromBytes(decrypted.result());
}
if (decrypted.exception() == Exception::kExecution) {
@@ -608,7 +608,7 @@ void EndpointManager::RegisterEndpoint(
// and they will happily keep writing to /dev/null. This is why we
// listen for the pong.
VLOG(1) << "EndpointManager enabling KeepAlive for endpoint "
<< endpoint_id;
<< endpoint_id;
endpoint_state.StartEndpointKeepAliveManager(
[this, client, endpoint_id, keep_alive_interval,
keep_alive_timeout](Mutex* keep_alive_waiter_mutex,
@@ -93,8 +93,7 @@ TEST_P(AwdlTest, CanConnect) {
.service_discovered_cb =
[&discovered_latch, &discovered_service_info](
NsdServiceInfo service_info, const std::string& service_id) {
LOG(INFO)
<< "Discovered service_info=" << &service_info;
LOG(INFO) << "Discovered service_info=" << &service_info;
discovered_service_info = service_info;
discovered_latch.CountDown();
},
@@ -146,8 +145,7 @@ TEST_P(AwdlTest, CanCancelConnect) {
.service_discovered_cb =
[&discovered_latch, &discovered_service_info](
NsdServiceInfo service_info, const std::string& service_id) {
LOG(INFO)
<< "Discovered service_info=" << &service_info;
LOG(INFO) << "Discovered service_info=" << &service_info;
discovered_service_info = service_info;
discovered_latch.CountDown();
},
+46 -56
View File
@@ -72,17 +72,15 @@ bool Ble::StartAdvertising(const std::string& service_id,
}
if (advertisement_bytes.size() > kMaxAdvertisementLength) {
LOG(INFO)
<< "Refusing to start BLE advertising because the advertisement "
"was too long. Expected at most "
<< kMaxAdvertisementLength << " bytes but received "
<< advertisement_bytes.size();
LOG(INFO) << "Refusing to start BLE advertising because the advertisement "
"was too long. Expected at most "
<< kMaxAdvertisementLength << " bytes but received "
<< advertisement_bytes.size();
return false;
}
if (IsAdvertisingLocked(service_id)) {
LOG(INFO)
<< "Failed to BLE advertise because we're already advertising.";
LOG(INFO) << "Failed to BLE advertise because we're already advertising.";
return false;
}
@@ -98,10 +96,10 @@ bool Ble::StartAdvertising(const std::string& service_id,
}
LOG(INFO) << "Turning on BLE advertising (advertisement size="
<< advertisement_bytes.size() << ")"
<< ", service id=" << service_id
<< ", fast advertisement service uuid="
<< absl::BytesToHexString(fast_advertisement_service_uuid);
<< advertisement_bytes.size() << ")"
<< ", service id=" << service_id
<< ", fast advertisement service uuid="
<< absl::BytesToHexString(fast_advertisement_service_uuid);
// Wrap the connections advertisement to the medium advertisement.
const bool fast_advertisement = !fast_advertisement_service_uuid.empty();
@@ -114,18 +112,17 @@ bool Ble::StartAdvertising(const std::string& service_id,
GenerateDeviceToken()}};
if (medium_advertisement_bytes.Empty()) {
LOG(INFO) << "Failed to BLE advertise because we could not "
"create a medium advertisement.";
"create a medium advertisement.";
return false;
}
if (!medium_.StartAdvertising(service_id, medium_advertisement_bytes,
fast_advertisement_service_uuid)) {
LOG(ERROR)
<< "Failed to turn on BLE advertising with advertisement bytes="
<< absl::BytesToHexString(advertisement_bytes.data())
<< ", size=" << advertisement_bytes.size()
<< ", fast advertisement service uuid="
<< fast_advertisement_service_uuid;
LOG(ERROR) << "Failed to turn on BLE advertising with advertisement bytes="
<< absl::BytesToHexString(advertisement_bytes.data())
<< ", size=" << advertisement_bytes.size()
<< ", fast advertisement service uuid="
<< fast_advertisement_service_uuid;
return false;
}
@@ -141,8 +138,7 @@ bool Ble::StopAdvertising(const std::string& service_id) {
return false;
}
LOG(INFO) << "Turned off BLE advertising with service id="
<< service_id;
LOG(INFO) << "Turned off BLE advertising with service id=" << service_id;
bool ret = medium_.StopAdvertising(service_id);
// Reset our bundle of advertising state to mark that we're no longer
// advertising.
@@ -154,7 +150,7 @@ bool Ble::StartLegacyAdvertising(
const std::string& input_service_id, const std::string& local_endpoint_id,
const std::string& fast_advertisement_service_uuid) {
LOG(INFO) << "StartLegacyAdvertising: " << input_service_id
<< ", local_endpoint_id: " << local_endpoint_id;
<< ", local_endpoint_id: " << local_endpoint_id;
MutexLock lock(&mutex_);
std::string service_id = input_service_id + "-Legacy";
@@ -166,13 +162,12 @@ bool Ble::StartLegacyAdvertising(
if (!radio_.IsEnabled()) {
LOG(INFO) << "Can't start BLE legacy advertising because Bluetooth "
"was never turned on";
"was never turned on";
return false;
}
if (!IsAvailableLocked()) {
LOG(INFO)
<< "Can't turn on BLE legacy advertising. BLE is not available.";
LOG(INFO) << "Can't turn on BLE legacy advertising. BLE is not available.";
return false;
}
// TODO(hais) improve working dummy set to feed proper hash value.
@@ -182,20 +177,19 @@ bool Ble::StartLegacyAdvertising(
ByteArray encoded_bytes{encoded_legacy_char_array};
LOG(INFO) << "Turning on BLE advertising (advertisement size="
<< encoded_bytes.size()
<< "): " << absl::BytesToHexString(encoded_bytes.data())
<< ", service id=" << service_id
<< ", fast advertisement service uuid="
<< fast_advertisement_service_uuid;
<< encoded_bytes.size()
<< "): " << absl::BytesToHexString(encoded_bytes.data())
<< ", service id=" << service_id
<< ", fast advertisement service uuid="
<< fast_advertisement_service_uuid;
if (!medium_.StartAdvertising(service_id, encoded_bytes,
fast_advertisement_service_uuid)) {
LOG(ERROR)
<< "Failed to turn on BLE advertising with advertisement bytes="
<< absl::BytesToHexString(encoded_bytes.data())
<< ", size=" << encoded_bytes.size()
<< ", fast advertisement service uuid="
<< fast_advertisement_service_uuid;
LOG(ERROR) << "Failed to turn on BLE advertising with advertisement bytes="
<< absl::BytesToHexString(encoded_bytes.data())
<< ", size=" << encoded_bytes.size()
<< ", fast advertisement service uuid="
<< fast_advertisement_service_uuid;
return false;
}
@@ -209,13 +203,12 @@ bool Ble::StopLegacyAdvertising(const std::string& input_service_id) {
std::string service_id = input_service_id + "-Legacy";
if (!IsAdvertisingLocked(service_id)) {
LOG(INFO)
<< "Can't turn off BLE legacy advertising; it is already off";
LOG(INFO) << "Can't turn off BLE legacy advertising; it is already off";
return false;
}
LOG(INFO) << "Turned off BLE legacy advertising with service id="
<< service_id;
<< service_id;
bool ret = medium_.StopAdvertising(service_id);
// Reset our bundle of advertising state to mark that we're no longer
// advertising.
@@ -241,14 +234,13 @@ bool Ble::StartScanning(const std::string& service_id,
discovered_peripheral_callback_ = std::move(callback);
if (service_id.empty()) {
LOG(INFO)
<< "Refusing to start BLE scanning with empty service id.";
LOG(INFO) << "Refusing to start BLE scanning with empty service id.";
return false;
}
if (IsScanningLocked(service_id)) {
LOG(INFO) << "Refusing to start scan of BLE peripherals because "
"another scanning is already in-progress.";
"another scanning is already in-progress.";
return false;
}
@@ -259,8 +251,7 @@ bool Ble::StartScanning(const std::string& service_id,
}
if (!IsAvailableLocked()) {
LOG(INFO)
<< "Can't scan BLE peripherals because BLE isn't available.";
LOG(INFO) << "Can't scan BLE peripherals because BLE isn't available.";
return false;
}
@@ -275,7 +266,7 @@ bool Ble::StartScanning(const std::string& service_id,
// Don't bother trying to parse zero byte advertisements.
if (medium_advertisement_bytes.size() == 0) {
LOG(INFO) << "Skipping zero byte advertisement "
<< "with service_id: " << service_id;
<< "with service_id: " << service_id;
return;
}
// Unwrap connection BleAdvertisement from medium
@@ -308,7 +299,7 @@ bool Ble::StopScanning(const std::string& service_id) {
if (!IsScanningLocked(service_id)) {
LOG(INFO) << "Can't turn off BLE scanning because we never "
"started scanning.";
"started scanning.";
return false;
}
@@ -346,20 +337,20 @@ bool Ble::StartAcceptingConnections(const std::string& service_id,
}
if (!radio_.IsEnabled()) {
LOG(INFO) << "Can't start accepting BLE connections for "
<< service_id << " because Bluetooth isn't enabled.";
LOG(INFO) << "Can't start accepting BLE connections for " << service_id
<< " because Bluetooth isn't enabled.";
return false;
}
if (!IsAvailableLocked()) {
LOG(INFO) << "Can't start accepting BLE connections for "
<< service_id << " because BLE isn't available.";
LOG(INFO) << "Can't start accepting BLE connections for " << service_id
<< " because BLE isn't available.";
return false;
}
if (!medium_.StartAcceptingConnections(service_id, std::move(callback))) {
LOG(INFO) << "Failed to accept connections callback for "
<< service_id << " .";
LOG(INFO) << "Failed to accept connections callback for " << service_id
<< " .";
return false;
}
@@ -408,13 +399,13 @@ ErrorOr<BleSocket> Ble::Connect(BlePeripheral& peripheral,
if (!radio_.IsEnabled()) {
LOG(INFO) << "Can't create client BLE socket to " << &peripheral
<< " because Bluetooth isn't enabled.";
<< " because Bluetooth isn't enabled.";
return {Error(OperationResultCode::MISCELLEANEOUS_BLE_SYSTEM_SERVICE_NULL)};
}
if (!IsAvailableLocked()) {
LOG(INFO) << "Can't create client BLE socket [service_id="
<< service_id << "]; BLE isn't available.";
LOG(INFO) << "Can't create client BLE socket [service_id=" << service_id
<< "]; BLE isn't available.";
return {Error(OperationResultCode::MEDIUM_UNAVAILABLE_BLE_NOT_AVAILABLE)};
}
@@ -426,8 +417,7 @@ ErrorOr<BleSocket> Ble::Connect(BlePeripheral& peripheral,
socket = medium_.Connect(peripheral, service_id, cancellation_flag);
if (!socket.IsValid()) {
LOG(INFO) << "Failed to Connect via BLE [service=" << service_id
<< "]";
LOG(INFO) << "Failed to Connect via BLE [service=" << service_id << "]";
}
return socket;
@@ -88,10 +88,9 @@ TEST_P(BleTest, CanStartAcceptingConnectionsAndConnect) {
BlePeripheral& peripheral, const std::string& service_id,
const ByteArray& advertisement_bytes,
bool fast_advertisement) {
LOG(INFO)
<< "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
LOG(INFO) << "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
atomic_discovered_peripheral.store(peripheral);
found_latch.CountDown();
},
@@ -141,10 +140,9 @@ TEST_P(BleTest, CanCancelConnect) {
BlePeripheral& peripheral, const std::string& service_id,
const ByteArray& advertisement_bytes,
bool fast_advertisement) {
LOG(INFO)
<< "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
LOG(INFO) << "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
atomic_discovered_peripheral.store(peripheral);
found_latch.CountDown();
},
@@ -69,7 +69,7 @@ BleAdvertisementHeader::BleAdvertisementHeader(
advertisement_header_bytes = ble_advertisement_header_bytes;
} else {
VLOG(1) << "Cannot deserialize BLEAdvertisementHeader. "
"Invalid advertising data.";
"Invalid advertising data.";
return;
}
} else {
@@ -39,8 +39,8 @@ BloomFilter::BloomFilter(std::unique_ptr<BitSet> bit_set,
// If the size is not matched, fall out.
if (bytes.size() * 8 != bit_set_->Size()) {
LOG(INFO) << "Cannot construct from bytes since the size is not "
"matched. bytes.size(x8) = "
<< bytes.size() << ", bit_set.size=" << bit_set_->Size();
"matched. bytes.size(x8) = "
<< bytes.size() << ", bit_set.size=" << bit_set_->Size();
return;
}
for (size_t byte_index = 0; byte_index < bytes.size(); byte_index++) {
@@ -64,9 +64,9 @@ InstantOnLostAdvertisement::CreateFromHashes(
std::string InstantOnLostAdvertisement::ToBytes() const {
if (hashes_.empty() || hashes_.size() > kMaxHashCount) {
LOG(ERROR) << __func__
<< ": Failed to convert hashes due to hash "
"size is not valid, size = "
<< hashes_.size();
<< ": Failed to convert hashes due to hash "
"size is not valid, size = "
<< hashes_.size();
return "";
}
@@ -80,9 +80,9 @@ std::string InstantOnLostAdvertisement::ToBytes() const {
for (const auto& hash : hashes_) {
if (hash.length() != kAdvertisementHashLength) {
LOG(ERROR) << __func__
<< ": Failed to convert hashes to advertisement due "
"to invalid hash : "
<< absl::BytesToHexString(hash);
<< ": Failed to convert hashes to advertisement due "
"to invalid hash : "
<< absl::BytesToHexString(hash);
return "";
}
absl::StrAppend(&result, hash);
@@ -112,9 +112,8 @@ TEST_P(BleV2Test, CanConnect) {
const ByteArray& advertisement_bytes,
bool fast_advertisement) {
discovered_peripheral = peripheral;
LOG(INFO)
<< "Discovered peripheral, fast advertisement="
<< fast_advertisement;
LOG(INFO) << "Discovered peripheral, fast advertisement="
<< fast_advertisement;
discovered_latch.CountDown();
},
});
@@ -172,9 +171,8 @@ TEST_P(BleV2Test, CanCancelConnect) {
const ByteArray& advertisement_bytes,
bool fast_advertisement) {
discovered_peripheral = peripheral;
LOG(INFO)
<< "Discovered peripheral, fast advertisement="
<< fast_advertisement;
LOG(INFO) << "Discovered peripheral, fast advertisement="
<< fast_advertisement;
discovered_latch.CountDown();
},
});
@@ -269,7 +269,7 @@ TEST_P(BluetoothClassicTest, CanConnect) {
[&latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Discovered device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
latch.CountDown();
},
}));
@@ -319,7 +319,7 @@ TEST_P(BluetoothClassicTest, CanCancelBeforeConnect) {
.device_discovered_cb =
[&latch, &discovered_device](BluetoothDevice& device) {
LOG(INFO) << "Discovered device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
discovered_device = device;
latch.CountDown();
},
@@ -387,7 +387,7 @@ TEST_P(BluetoothClassicTest, CanCancelDuringConnect) {
[&latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Discovered device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
latch.CountDown();
},
}));
@@ -453,7 +453,7 @@ TEST_P(BluetoothClassicTest, CanCancelDuringConnect_MultipleEndpoints) {
[&latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Discovered device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
latch.CountDown();
},
}));
@@ -599,21 +599,21 @@ TEST_F(BluetoothClassicTest, CanDiscoverDeviceChanges) {
[&discovered_latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Discovered device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
discovered_latch.CountDown();
},
.device_name_changed_cb =
[&rename_latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Rename device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
rename_latch.CountDown();
},
.device_lost_cb =
[&lost_latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Lost device=" << device.GetName()
<< ", impl=" << &device.GetImpl();
<< ", impl=" << &device.GetImpl();
lost_latch.CountDown();
},
}));
@@ -645,7 +645,7 @@ TEST_F(BluetoothClassicTest, CanStartAcceptingConnections) {
[&latch, &discovered_device](BluetoothDevice& device) {
discovered_device = device;
LOG(INFO) << "Discovered device=" << device.GetName()
<< ",impl=" << &device.GetImpl();
<< ",impl=" << &device.GetImpl();
latch.CountDown();
},
}));
@@ -23,15 +23,14 @@
#include "internal/platform/exception.h"
#include "internal/platform/logging.h"
namespace nearby {
namespace connections {
namespace mediums {
namespace multiplex {
using ::location::nearby::mediums::MultiplexFrame;
using ::location::nearby::mediums::MultiplexControlFrame;
using ::location::nearby::mediums::ConnectionResponseFrame;
using ::location::nearby::mediums::MultiplexControlFrame;
using ::location::nearby::mediums::MultiplexFrame;
ByteArray GenerateServiceIdHash(const std::string& service_id) {
return Utils::Sha256Hash(service_id, kServiceIdHashLength);
@@ -115,8 +114,7 @@ ByteArray ForDisconnection(const std::string& service_id,
header->set_service_id_hash_salt(service_id_hash_salt);
auto* control_frame = frame.mutable_control_frame();
control_frame->set_control_frame_type(
MultiplexControlFrame::DISCONNECTION);
control_frame->set_control_frame_type(MultiplexControlFrame::DISCONNECTION);
return ToBytes(std::move(frame));
}
@@ -140,7 +138,7 @@ ByteArray ForData(const std::string& service_id,
return ToBytes(std::move(frame));
}
ExceptionOr<MultiplexFrame> FromBytes(const ByteArray& multiplex_frame_bytes){
ExceptionOr<MultiplexFrame> FromBytes(const ByteArray& multiplex_frame_bytes) {
MultiplexFrame frame;
if (frame.ParseFromString(std::string(multiplex_frame_bytes))) {
@@ -173,24 +171,24 @@ bool IsValid(const MultiplexFrame& frame) {
}
bool IsValidControlFrame(const MultiplexFrame& frame) {
if (!frame.has_control_frame()) {
return false;
}
switch (frame.control_frame().control_frame_type()) {
case MultiplexControlFrame::CONNECTION_REQUEST:
case MultiplexControlFrame::CONNECTION_RESPONSE:
case MultiplexControlFrame::DISCONNECTION:
if (frame.header().salted_service_id_hash().size() ==
kServiceIdHashLength) {
return true;
}
break;
default:
break;
}
if (!frame.has_control_frame()) {
return false;
}
switch (frame.control_frame().control_frame_type()) {
case MultiplexControlFrame::CONNECTION_REQUEST:
case MultiplexControlFrame::CONNECTION_RESPONSE:
case MultiplexControlFrame::DISCONNECTION:
if (frame.header().salted_service_id_hash().size() ==
kServiceIdHashLength) {
return true;
}
break;
default:
break;
}
return false;
}
bool IsValidDataFrame(const MultiplexFrame& frame) {
@@ -204,8 +202,8 @@ bool IsMultiplexFrame(const ByteArray& data) {
return false;
} else {
LOG(INFO) << "Checked data is a multiplex frame. Is Control ? "
<< frame.result().has_control_frame() << ", is data ? "
<< frame.result().has_data_frame();
<< frame.result().has_control_frame() << ", is data ? "
<< frame.result().has_data_frame();
return true;
}
}
@@ -63,16 +63,14 @@ Exception MultiplexOutputStream::WaitForResult(const std::string& method_name,
.mediums_frame_write_timeout_millis);
if (!result.ok()) {
LOG(INFO) << "Future:[" << method_name
<< "] completed with exception:" << result.exception();
<< "] completed with exception:" << result.exception();
return {Exception::kFailed};
}
if (result.result()) {
LOG(INFO) << "Future:[" << method_name
<< "] completed with success.";
LOG(INFO) << "Future:[" << method_name << "] completed with success.";
return {Exception::kSuccess};
}
LOG(INFO) << "Future:[" << method_name
<< "] completed with failure.";
LOG(INFO) << "Future:[" << method_name << "] completed with failure.";
return {Exception::kFailed};
}
@@ -111,8 +109,8 @@ bool MultiplexOutputStream::WriteConnectionResponseFrame(
bool MultiplexOutputStream::Close(const std::string& service_id) {
auto item = virtual_output_streams_.find(service_id);
if (item == virtual_output_streams_.end()) {
LOG(INFO) << "Don't need to close VirtualOutputStream("
<< service_id << ") because it's already gone.";
LOG(INFO) << "Don't need to close VirtualOutputStream(" << service_id
<< ") because it's already gone.";
return false;
}
@@ -230,8 +228,7 @@ void MultiplexOutputStream::MultiplexWriter::StartWriting() {
LOG(INFO) << "Waiting for data_queue_ has data.";
Exception wait_succeeded = is_writing_cond_.Wait();
if (!wait_succeeded.Ok()) {
LOG(WARNING)
<< "Failure waiting to wait: " << wait_succeeded.value;
LOG(WARNING) << "Failure waiting to wait: " << wait_succeeded.value;
return;
}
}
@@ -306,9 +303,8 @@ MultiplexOutputStream::VirtualOutputStream::VirtualOutputStream(
Exception MultiplexOutputStream::VirtualOutputStream::Write(
const ByteArray& data) {
if (is_closed_.Get()) {
LOG(WARNING)
<< "Failed to write data because the VirtualOutputStream for "
<< service_id_ << " closed";
LOG(WARNING) << "Failed to write data because the VirtualOutputStream for "
<< service_id_ << " closed";
return {Exception::kIo};
}
if (multiplex_output_stream_.is_enabled_.Get()) {
@@ -327,7 +323,7 @@ Exception MultiplexOutputStream::VirtualOutputStream::Write(
if ((service_id_hash_salt_ == kFakeSalt) && !should_pass_salt) {
should_pass_salt = true;
LOG(INFO) << "service_idHashSalt is still a fake one and "
"not changed yet; continue to pass salt.";
"not changed yet; continue to pass salt.";
}
}
ByteArray data_frame =
@@ -75,8 +75,8 @@ class MultiplexOutputStreamTest : public ::testing::Test {
};
TEST_F(MultiplexOutputStreamTest, SendConnectionRequestFrame) {
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
EXPECT_TRUE(multiplex_output_stream_->WriteConnectionRequestFrame(
std::string(kServiceId_1), std::string(kNoSalt)));
@@ -94,8 +94,8 @@ TEST_F(MultiplexOutputStreamTest, SendConnectionRequestFrame) {
TEST_F(MultiplexOutputStreamTest, SendConnectionRequestFrameDisabled) {
enabled_.Set(false);
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
EXPECT_FALSE(multiplex_output_stream_->WriteConnectionRequestFrame(
std::string(kServiceId_1), std::string(kNoSalt)));
@@ -103,8 +103,8 @@ TEST_F(MultiplexOutputStreamTest, SendConnectionRequestFrameDisabled) {
}
TEST_F(MultiplexOutputStreamTest, SendConnectionResponseFrame) {
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
EXPECT_TRUE(multiplex_output_stream_->WriteConnectionResponseFrame(
GenerateServiceIdHash(std::string(kServiceId_1)), std::string(kNoSalt),
ConnectionResponseFrame::CONNECTION_ACCEPTED));
@@ -127,8 +127,8 @@ TEST_F(MultiplexOutputStreamTest, SendConnectionResponseFrame) {
TEST_F(MultiplexOutputStreamTest, SendConnectionResponseFrameDisabled) {
enabled_.Set(false);
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
EXPECT_FALSE(multiplex_output_stream_->WriteConnectionResponseFrame(
GenerateServiceIdHash(std::string(kServiceId_1)), std::string(kNoSalt),
ConnectionResponseFrame::CONNECTION_ACCEPTED));
@@ -137,16 +137,16 @@ TEST_F(MultiplexOutputStreamTest, SendConnectionResponseFrameDisabled) {
}
TEST_F(MultiplexOutputStreamTest, CloseVirtualStreamFailed) {
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
EXPECT_FALSE(multiplex_output_stream_->Close(std::string(kServiceId_1)));
multiplex_output_stream_->Shutdown();
}
TEST_F(MultiplexOutputStreamTest, CloseVirtualStreamSuccess) {
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
EXPECT_FALSE(multiplex_output_stream_->Close(std::string(kServiceId_1)));
multiplex_output_stream_->CreateVirtualOutputStream(std::string(kServiceId_1),
@@ -166,8 +166,8 @@ TEST_F(MultiplexOutputStreamTest, CloseVirtualStreamSuccess) {
}
TEST_F(MultiplexOutputStreamTest, CreateVirtualStream_SendData) {
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
auto virtual_output_stream =
multiplex_output_stream_->CreateVirtualOutputStream(
@@ -189,8 +189,8 @@ TEST_F(MultiplexOutputStreamTest, CreateVirtualStream_SendData) {
}
TEST_F(MultiplexOutputStreamTest, CreateTwoVirtualStreams_SendData) {
multiplex_output_stream_ = std::make_unique<MultiplexOutputStream>(
writer_.get(), enabled_);
multiplex_output_stream_ =
std::make_unique<MultiplexOutputStream>(writer_.get(), enabled_);
auto virtual_output_stream_1 =
multiplex_output_stream_->CreateVirtualOutputStreamForFirstVirtualSocket(
@@ -222,14 +222,14 @@ TEST_F(MultiplexOutputStreamTest, CreateTwoVirtualStreams_SendData) {
EXPECT_EQ(frame.frame_type(), MultiplexFrame::DATA_FRAME);
bool first_frame_is_data_1 = true;
if (frame.header().salted_service_id_hash() ==
std::string(GenerateServiceIdHashWithSalt(std::string(kServiceId_1),
std::string(kSalt_1)))) {
std::string(GenerateServiceIdHashWithSalt(std::string(kServiceId_1),
std::string(kSalt_1)))) {
EXPECT_EQ(frame.data_frame().data(), std::string(data_1));
LOG(INFO) << "Read first virtual stream frame first.";
} else {
EXPECT_EQ(frame.header().salted_service_id_hash(),
std::string(GenerateServiceIdHashWithSalt(std::string(kServiceId_2),
std::string(kSalt_2))));
std::string(GenerateServiceIdHashWithSalt(
std::string(kServiceId_2), std::string(kSalt_2))));
EXPECT_EQ(frame.data_frame().data(), std::string(data_2));
first_frame_is_data_1 = false;
LOG(INFO) << "Read second virtual stream frame first.";
@@ -69,7 +69,7 @@ using ConnectionResponseCode = ConnectionResponseFrame::ConnectionResponseCode;
// AtomicBoolean is trivial destructible, so it is safe to use it as a static
// variable.
AtomicBoolean MultiplexSocket::is_shutting_down_{false}; // NOLINT
AtomicBoolean MultiplexSocket::is_shutting_down_{false}; // NOLINT
void MultiplexSocket::ListenForIncomingConnection(
const std::string& service_id, Medium type,
@@ -131,14 +131,14 @@ MultiplexSocket* MultiplexSocket::CreateIncomingSocket(
new (&storage_wlan) MultiplexSocket(physical_socket);
break;
default:
LOG(ERROR) << __func__ << "Unsupported medium: "
<< physical_socket->GetMedium();
LOG(ERROR) << __func__
<< "Unsupported medium: " << physical_socket->GetMedium();
multiplex_incoming_socket = nullptr;
return multiplex_incoming_socket;
}
LOG(INFO) << "CreateIncomingSocket with serviceId=" << service_id
<< ", serviceIdHashSalt=" << kFakeSalt << " for medium="
<< Medium_Name(physical_socket->GetMedium());
<< ", serviceIdHashSalt=" << kFakeSalt
<< " for medium=" << Medium_Name(physical_socket->GetMedium());
multiplex_incoming_socket->CreateFirstVirtualSocket(service_id,
(std::string)kFakeSalt);
@@ -175,14 +175,13 @@ MultiplexSocket* MultiplexSocket::CreateOutgoingSocket(
new (&storage_wlan) MultiplexSocket(physical_socket);
break;
default:
LOG(ERROR) << __func__ << "Unsupported medium: "
<< physical_socket->GetMedium();
LOG(ERROR) << __func__
<< "Unsupported medium: " << physical_socket->GetMedium();
return multiplex_outgoing_socket;
}
LOG(INFO) << "CreateOutgoingSocket with serviceId=" << service_id
<< ", serviceIdHashSalt=" << service_id_hash_salt
<< " for medium="
<< Medium_Name(physical_socket->GetMedium());
<< ", serviceIdHashSalt=" << service_id_hash_salt
<< " for medium=" << Medium_Name(physical_socket->GetMedium());
multiplex_outgoing_socket->CreateFirstVirtualSocket(service_id,
service_id_hash_salt);
@@ -207,9 +206,8 @@ MediumSocket* MultiplexSocket::CreateFirstVirtualSocket(
std::string salted_service_id_hash_key =
GenerateServiceIdHashKeyWithSalt(service_id, service_id_hash_salt);
LOG(INFO) << __func__ << " for service_id=" << service_id
<< ", salt=" << service_id_hash_salt
<< ", salted_service_id_hash_key="
<< salted_service_id_hash_key;
<< ", salt=" << service_id_hash_salt
<< ", salted_service_id_hash_key=" << salted_service_id_hash_key;
MediumSocket* virtual_socket = physical_socket_ptr_->CreateVirtualSocket(
salted_service_id_hash_key, output_stream, medium_, &virtual_sockets_);
@@ -234,9 +232,8 @@ MediumSocket* MultiplexSocket::CreateVirtualSocket(
GenerateServiceIdHashKeyWithSalt(service_id, service_id_hash_salt);
LOG(INFO) << __func__ << "service_id=" << service_id
<< ", salt=" << service_id_hash_salt
<< ", salted_service_id_hash_key="
<< salted_service_id_hash_key;
<< ", salt=" << service_id_hash_salt
<< ", salted_service_id_hash_key=" << salted_service_id_hash_key;
MediumSocket* virtual_socket = physical_socket_ptr_->CreateVirtualSocket(
salted_service_id_hash_key, output_stream, medium_, &virtual_sockets_);
@@ -251,8 +248,8 @@ MediumSocket* MultiplexSocket::CreateVirtualSocket(
MediumSocket* MultiplexSocket::GetVirtualSocket(const std::string& service_id) {
MutexLock lock(&virtual_socket_mutex_);
LOG(INFO) << __func__ << " service_id=" << service_id << ", Salt="
<< multiplex_output_stream_.GetServiceIdHashSalt(service_id)
<< ", virtual_sockets_.size()=" << virtual_sockets_.size();
<< multiplex_output_stream_.GetServiceIdHashSalt(service_id)
<< ", virtual_sockets_.size()=" << virtual_sockets_.size();
auto item = virtual_sockets_.find(GenerateServiceIdHashKeyWithSalt(
service_id, multiplex_output_stream_.GetServiceIdHashSalt(service_id)));
if (item == virtual_sockets_.end()) {
@@ -269,11 +266,10 @@ int MultiplexSocket::GetVirtualSocketCount() {
void MultiplexSocket::ListVirtualSocket() {
LOG(INFO) << __func__
<< " virtual_sockets_.size()=" << virtual_sockets_.size();
<< " virtual_sockets_.size()=" << virtual_sockets_.size();
for (auto& [service_id_hash_key, virtual_socket] : virtual_sockets_) {
LOG(INFO) << __func__
<< " service_id_hash_key=" << service_id_hash_key
<< ", virtual_socket=" << virtual_socket;
LOG(INFO) << __func__ << " service_id_hash_key=" << service_id_hash_key
<< ", virtual_socket=" << virtual_socket;
}
}
@@ -309,8 +305,8 @@ MediumSocket* MultiplexSocket::EstablishVirtualSocket(
.multiplex_socket_connection_response_timeout_millis);
if (!result.ok()) {
LOG(ERROR) << __func__
<< "EstablishVirtualSocket failed with response code="
<< result.exception();
<< "EstablishVirtualSocket failed with response code="
<< result.exception();
return nullptr;
}
@@ -318,21 +314,21 @@ MediumSocket* MultiplexSocket::EstablishVirtualSocket(
switch (response_code) {
case ConnectionResponseFrame::CONNECTION_ACCEPTED:
LOG(INFO) << "EstablishVirtualSocket after remote response to"
" accept the connection with service_id="
<< service_id
<< ", service_id_hash_salt=" << service_id_hash_salt;
" accept the connection with service_id="
<< service_id
<< ", service_id_hash_salt=" << service_id_hash_salt;
return CreateVirtualSocket(service_id, service_id_hash_salt);
case ConnectionResponseFrame::NOT_LISTENING:
LOG(ERROR) << "EstablishVirtualSocket failed for service_id="
<< service_id
<< ", service_id_hash_salt=" << service_id_hash_salt
<< " with response code=NOT_LISTENING";
<< service_id
<< ", service_id_hash_salt=" << service_id_hash_salt
<< " with response code=NOT_LISTENING";
break;
default:
LOG(ERROR) << "EstablishVirtualSocket failed for service_id="
<< service_id
<< ", service_id_hash_salt=" << service_id_hash_salt
<< " with response code=UNKNOWN_RESPONSE_CODE";
<< service_id
<< ", service_id_hash_salt=" << service_id_hash_salt
<< " with response code=UNKNOWN_RESPONSE_CODE";
break;
}
return nullptr;
@@ -341,7 +337,7 @@ MediumSocket* MultiplexSocket::EstablishVirtualSocket(
void MultiplexSocket::StartReaderThread(std::int32_t first_frame_len) {
if (is_shutdown_) {
LOG(WARNING) << "Stop to start reader thread since socket is "
"shutdown.";
"shutdown.";
return;
}
reader_thread_shutdown_barrier_ = std::make_unique<CountDownLatch>(1);
@@ -359,8 +355,8 @@ void MultiplexSocket::StartReaderThread(std::int32_t first_frame_len) {
read_int = Base64Utils::ReadInt(physical_reader_);
}
if (!read_int.ok()) {
LOG(WARNING)
<< __func__ << "Failed to read. Exception:" << read_int.exception();
LOG(WARNING) << __func__
<< "Failed to read. Exception:" << read_int.exception();
fail = true;
} else {
auto length = read_int.result();
@@ -371,16 +367,16 @@ void MultiplexSocket::StartReaderThread(std::int32_t first_frame_len) {
.connection_max_frame_length) {
// Ignore the failure because not only one client use this
// connection.
LOG(WARNING)
<< __func__ << "Failed to read because received a invalid length "
<< length << ", but continue to read.";
LOG(WARNING) << __func__
<< "Failed to read because received a invalid length "
<< length << ", but continue to read.";
continue;
}
bytes = physical_reader_->ReadExactly(length);
if (!bytes.ok()) {
LOG(WARNING)
<< __func__ << "Read data exception:" << bytes.exception();
LOG(WARNING) << __func__
<< "Read data exception:" << bytes.exception();
fail = true;
}
}
@@ -402,10 +398,9 @@ void MultiplexSocket::StartReaderThread(std::int32_t first_frame_len) {
// the remote, it means that the remote and the local both
// support multiplex as well. So it is safe to just turn on
// the feature at this point.
LOG(INFO)
<< __func__
<< " Received a multiplex frame while not enabled, enable "
"multiplex.";
LOG(INFO) << __func__
<< " Received a multiplex frame while not enabled, enable "
"multiplex.";
Enable();
}
const auto& frame = frame_exc.result();
@@ -425,9 +420,9 @@ void MultiplexSocket::StartReaderThread(std::int32_t first_frame_len) {
frame.data_frame());
break;
default:
LOG(WARNING)
<< __func__ << " Received MultiplexFrame with unknown frame type "
<< frame.frame_type();
LOG(WARNING) << __func__
<< " Received MultiplexFrame with unknown frame type "
<< frame.frame_type();
}
}
});
@@ -435,8 +430,7 @@ void MultiplexSocket::StartReaderThread(std::int32_t first_frame_len) {
void MultiplexSocket::HandleOfflineFrame(const ByteArray& bytes) {
MutexLock lock(&virtual_socket_mutex_);
LOG(INFO) << __func__
<< " Virtual_socket num:" << virtual_sockets_.size();
LOG(INFO) << __func__ << " Virtual_socket num:" << virtual_sockets_.size();
if (virtual_sockets_.size() == 1) {
auto item = virtual_sockets_.begin();
if (item->second == nullptr) {
@@ -461,12 +455,12 @@ void MultiplexSocket::HandleControlFrame(
});
break;
case MultiplexControlFrame::CONNECTION_RESPONSE:
LOG(INFO)
<< __func__ << "Received an CONNECTION_RESPONSE frame."
<< " salted_service_id_hash: " << std::string(salted_service_id_hash)
<< ", service_id_hash_salt: " << service_id_hash_salt
<< ", ConnectionResponseCode: "
<< frame.connection_response_frame().connection_response_code();
LOG(INFO) << __func__ << "Received an CONNECTION_RESPONSE frame."
<< " salted_service_id_hash: "
<< std::string(salted_service_id_hash)
<< ", service_id_hash_salt: " << service_id_hash_salt
<< ", ConnectionResponseCode: "
<< frame.connection_response_frame().connection_response_code();
RunOffloadThread("CONNECTION_RESPONSE", [this, salted_service_id_hash,
service_id_hash_salt,
@@ -482,7 +476,7 @@ void MultiplexSocket::HandleControlFrame(
break;
default:
LOG(WARNING) << __func__ << "Received an unknown frame type "
<< frame.control_frame_type();
<< frame.control_frame_type();
break;
}
}
@@ -492,8 +486,8 @@ void MultiplexSocket::HandleConnectionRequest(
const std::string& service_id_hash_salt) {
if (!IsEnabled()) {
LOG(WARNING) << "Received a CONNECTION_REQUEST frame on medium "
<< Medium_Name(medium_)
<< " but status is disabled, ignore it.";
<< Medium_Name(medium_)
<< " but status is disabled, ignore it.";
return;
}
@@ -513,12 +507,12 @@ void MultiplexSocket::HandleConnectionRequest(
if (incoming_connection_callback == nullptr || listening_service_id.empty()) {
LOG(INFO) << "There's no client listening for hash salt : "
<< service_id_hash_salt
<< ", hash key : " << salted_service_id_hash_key
<< " on medium " << Medium_Name(medium_);
<< service_id_hash_salt
<< ", hash key : " << salted_service_id_hash_key << " on medium "
<< Medium_Name(medium_);
LOG(INFO) << "The size of incomingConnectionCallbacks : "
<< GetIncomingConnectionCallbacks().size();
<< GetIncomingConnectionCallbacks().size();
if (!multiplex_output_stream_.WriteConnectionResponseFrame(
salted_service_id_hash, service_id_hash_salt,
ConnectionResponseFrame::NOT_LISTENING)) {
@@ -527,10 +521,9 @@ void MultiplexSocket::HandleConnectionRequest(
return;
}
LOG(INFO) << "Accept new virtual socket request service ID : "
<< listening_service_id
<< ", hash salt : " << service_id_hash_salt
<< ", hash key : " << salted_service_id_hash_key
<< " on medium " << Medium_Name(medium_);
<< listening_service_id << ", hash salt : " << service_id_hash_salt
<< ", hash key : " << salted_service_id_hash_key << " on medium "
<< Medium_Name(medium_);
if (!multiplex_output_stream_.WriteConnectionResponseFrame(
salted_service_id_hash, service_id_hash_salt,
@@ -539,10 +532,10 @@ void MultiplexSocket::HandleConnectionRequest(
return;
}
VLOG(1)
<< "EstablishVirtualSocket after local device accept the connection "
"with serviceId="
<< listening_service_id << ", serviceIdHashSalt=" << service_id_hash_salt;
VLOG(1) << "EstablishVirtualSocket after local device accept the connection "
"with serviceId="
<< listening_service_id
<< ", serviceIdHashSalt=" << service_id_hash_salt;
MediumSocket* virtual_socket =
CreateVirtualSocket(listening_service_id, service_id_hash_salt);
(*incoming_connection_callback)(std::move(listening_service_id),
@@ -553,18 +546,16 @@ void MultiplexSocket::HandleConnectionResponse(
const ByteArray& salted_service_id_hash,
const std::string& service_id_hash_salt,
const ConnectionResponseFrame& frame) {
LOG(INFO) << __func__ << "connection_response_code: "
<< frame.connection_response_code();
LOG(INFO) << __func__
<< "connection_response_code: " << frame.connection_response_code();
for (auto& [service_id, future] : connection_response_futures_) {
if (GenerateServiceIdHashWithSalt(service_id, service_id_hash_salt) ==
salted_service_id_hash) {
if (future != nullptr) {
future->Set(frame.connection_response_code());
LOG(INFO) << __func__
<< "Set the future for serviceId=" << service_id
<< ", serviceIdHashSalt=" << service_id_hash_salt
<< " with response code="
<< frame.connection_response_code();
LOG(INFO) << __func__ << "Set the future for serviceId=" << service_id
<< ", serviceIdHashSalt=" << service_id_hash_salt
<< " with response code=" << frame.connection_response_code();
return;
}
}
@@ -639,37 +630,36 @@ void MultiplexSocket::OnVirtualSocketClosed(const std::string& service_id) {
LOG(INFO) << __func__ << " for service_id:" << service_id;
CountDownLatch latch(1);
bool shutdown = false;
RunOffloadThread("VirtualSocketClosed", [this, service_id, &latch,
&shutdown]() {
LOG(INFO) << "Try to close Virtual socket: " << service_id;
MediumSocket* virtual_socket = GetVirtualSocket(service_id);
{
MutexLock lock(&virtual_socket_mutex_);
LOG(INFO) << "virtual_socket:" << virtual_socket;
if (virtual_socket != nullptr) {
auto salted_service_id_hash_key = GenerateServiceIdHashKeyWithSalt(
service_id,
multiplex_output_stream_.GetServiceIdHashSalt(service_id));
multiplex_output_stream_.Close(service_id);
virtual_sockets_.erase(salted_service_id_hash_key);
LOG(INFO) << "Erase Virtual socket with service_id: "
<< service_id
<< ", hash_key: " << salted_service_id_hash_key;
ListVirtualSocket();
RunOffloadThread(
"VirtualSocketClosed", [this, service_id, &latch, &shutdown]() {
LOG(INFO) << "Try to close Virtual socket: " << service_id;
MediumSocket* virtual_socket = GetVirtualSocket(service_id);
{
MutexLock lock(&virtual_socket_mutex_);
LOG(INFO) << "virtual_socket:" << virtual_socket;
if (virtual_socket != nullptr) {
auto salted_service_id_hash_key = GenerateServiceIdHashKeyWithSalt(
service_id,
multiplex_output_stream_.GetServiceIdHashSalt(service_id));
multiplex_output_stream_.Close(service_id);
virtual_sockets_.erase(salted_service_id_hash_key);
LOG(INFO) << "Erase Virtual socket with service_id: " << service_id
<< ", hash_key: " << salted_service_id_hash_key;
ListVirtualSocket();
if (virtual_sockets_.empty()) {
LOG(INFO) << "Close the physical socket because all virtual "
"sockets disconnected.";
is_shutting_down_.Set(true);
Shutdown();
shutdown = true;
if (virtual_sockets_.empty()) {
LOG(INFO) << "Close the physical socket because all virtual "
"sockets disconnected.";
is_shutting_down_.Set(true);
Shutdown();
shutdown = true;
}
} else {
LOG(INFO) << "Virtual socket(" << service_id << ") not found";
}
}
} else {
LOG(INFO) << "Virtual socket(" << service_id << ") not found";
}
}
latch.CountDown();
});
latch.CountDown();
});
if (!latch.Await(absl::Milliseconds(1000)).result()) {
LOG(ERROR) << "Timeout to close virtual socket";
@@ -690,8 +680,8 @@ MediumSocket* MultiplexSocket::ReMapAndGetVirtualSocket(
std::string salted_service_id_hash_key =
GenerateServiceIdHashKey(salted_service_id_hash);
VLOG(1) << "ReMapAndGetVirtualSocket with serviceIdHashSalt="
<< service_id_hash_salt
<< ", saltedServiceIdHashKey=" << salted_service_id_hash_key;
<< service_id_hash_salt
<< ", saltedServiceIdHashKey=" << salted_service_id_hash_key;
{
MutexLock lock(&virtual_socket_mutex_);
for (auto& [hash_key, virtual_socket] : virtual_sockets_) {
@@ -779,8 +769,7 @@ void MultiplexSocket::ShutdownAll() {
LOG(ERROR) << "Timeout to close virtual socket";
}
LOG(INFO)
<< "Shutdown single_thread_offloader_ and physical_reader_thread_";
LOG(INFO) << "Shutdown single_thread_offloader_ and physical_reader_thread_";
single_thread_offloader_.Shutdown();
physical_reader_thread_.Shutdown();
LOG(INFO) << __func__ << " end";
@@ -50,9 +50,9 @@ namespace multiplex {
constexpr absl::string_view SERVICE_ID_1 = "serviceId_1";
constexpr absl::string_view SERVICE_ID_2 = "serviceId_2";
using location::nearby::mediums::MultiplexFrame;
using location::nearby::mediums::MultiplexControlFrame;
using location::nearby::mediums::ConnectionResponseFrame;
using location::nearby::mediums::MultiplexControlFrame;
using location::nearby::mediums::MultiplexFrame;
using location::nearby::proto::connections::Medium;
using location::nearby::proto::connections::Medium_Name;
@@ -66,8 +66,7 @@ class FakeSocket : public MediumSocket {
pipe_2_ = CreatePipe();
reader_2_ = std::move(pipe_2_.first);
writer_2_ = std::move(pipe_2_.second);
LOG(WARNING) << "Physical Socket Medium:"
<< Medium_Name(GetMedium());
LOG(WARNING) << "Physical Socket Medium:" << Medium_Name(GetMedium());
};
~FakeSocket() override = default;
@@ -117,22 +116,21 @@ class FakeSocket : public MediumSocket {
auto virtual_socket = std::make_shared<FakeSocket>(medium, outputstream);
LOG(WARNING) << "Created the virtual socket for Medium: "
<< Medium_Name(virtual_socket->GetMedium());
<< Medium_Name(virtual_socket->GetMedium());
if (virtual_sockets_ptr_ == nullptr) {
virtual_sockets_ptr_ = virtual_sockets_ptr;
}
(*virtual_sockets_ptr_)[salted_service_id_hash_key] = virtual_socket;
LOG(INFO) << "virtual_sockets_ size: "
<< virtual_sockets_ptr_->size();
LOG(INFO) << "virtual_sockets_ size: " << virtual_sockets_ptr_->size();
return virtual_socket.get();
}
void FeedIncomingData(ByteArray data) override {
bytes_read_future_.Set(data);
LOG(INFO) << "FeedIncomingData. Size of receive data: "
<< data.size() << ", bytes content:" << std::string(data);
LOG(INFO) << "FeedIncomingData. Size of receive data: " << data.size()
<< ", bytes content:" << std::string(data);
}
bool IsVirtualSocket() override { return is_virtual_socket_; }
@@ -155,8 +153,7 @@ class FakeSocket : public MediumSocket {
};
TEST(MultiplexSocketTest, CreateSuccessAndReaderThreadStarted) {
auto fake_socket_ptr =
std::make_shared<FakeSocket>(Medium::BLUETOOTH);
auto fake_socket_ptr = std::make_shared<FakeSocket>(Medium::BLUETOOTH);
MultiplexSocket::StopListeningForIncomingConnection(std::string(SERVICE_ID_1),
Medium::BLUETOOTH);
MultiplexSocket* multiplex_socket_incoming =
@@ -204,8 +201,7 @@ TEST(MultiplexSocketTest, CreateSuccessAndReaderThreadStarted) {
EXPECT_EQ(multiplex_socket_incoming->GetVirtualSocketCount(), 0);
}
TEST(MultiplexSocketTest, CreateFail_MediumNotSupport) {
auto fake_socket_ptr =
std::make_shared<FakeSocket>(Medium::WEB_RTC);
auto fake_socket_ptr = std::make_shared<FakeSocket>(Medium::WEB_RTC);
MultiplexSocket::StopListeningForIncomingConnection(std::string(SERVICE_ID_1),
Medium::WEB_RTC);
MultiplexSocket* multiplex_socket_incoming =
@@ -231,9 +227,8 @@ TEST(MultiplexSocketTest,
multiplex_socket->EstablishVirtualSocket(std::string(SERVICE_ID_2));
EXPECT_EQ(socket, nullptr);
absl::SleepFor(absl::Milliseconds(100));
FakeSocket* virtual_socket =
(FakeSocket*)multiplex_socket->GetVirtualSocket(
std::string(SERVICE_ID_1));
FakeSocket* virtual_socket = (FakeSocket*)multiplex_socket->GetVirtualSocket(
std::string(SERVICE_ID_1));
if (virtual_socket == nullptr) {
LOG(INFO) << "Virtual socket not found for " << SERVICE_ID_1;
return;
@@ -278,8 +273,7 @@ TEST(MultiplexSocketTest,
LOG(INFO) << "reader_2_ Read start";
ExceptionOr<std::int32_t> read_int = Base64Utils::ReadInt(reader);
if (!read_int.ok()) {
ADD_FAILURE() << "Failed to read. Exception:"
<< read_int.exception();
ADD_FAILURE() << "Failed to read. Exception:" << read_int.exception();
}
auto length = read_int.result();
LOG(INFO) << " length:" << length;
@@ -294,8 +288,7 @@ TEST(MultiplexSocketTest,
EXPECT_EQ(multiplex_socket->GetVirtualSocketCount(), 0);
}
TEST(MultiplexSocketTest,
EstablishVirtualSocket_RemoteAccepted) {
TEST(MultiplexSocketTest, EstablishVirtualSocket_RemoteAccepted) {
auto fake_socket_ptr = std::make_shared<FakeSocket>(Medium::BLUETOOTH);
MultiplexSocket::StopListeningForIncomingConnection(std::string(SERVICE_ID_1),
Medium::BLUETOOTH);
@@ -339,8 +332,7 @@ TEST(MultiplexSocketTest,
ADD_FAILURE() << "Invalid frame length:" << length;
}
ExceptionOr<MultiplexFrame> frame_exc =
multiplex::FromBytes(bytes.result());
ExceptionOr<MultiplexFrame> frame_exc = multiplex::FromBytes(bytes.result());
if (!frame_exc.ok()) {
ADD_FAILURE() << "Failed to parse MultiplexFrame. Exception:"
<< frame_exc.exception();
@@ -356,7 +348,7 @@ TEST(MultiplexSocketTest,
ASSERT_EQ(control_frame.control_frame_type(),
MultiplexControlFrame::CONNECTION_REQUEST);
LOG(INFO) << "Recieved MultiplexControlFrame::CONNECTION_REQUEST "
"frame, now send CONNECTION_RESPONSE frame.";
"frame, now send CONNECTION_RESPONSE frame.";
ByteArray connection_response_frame =
ForConnectionResponse(salted_service_id_hash, service_id_hash_salt,
+46 -67
View File
@@ -103,14 +103,13 @@ bool WebRtc::StartAcceptingConnections(const std::string& service_id,
MutexLock lock(&mutex_);
if (!IsAvailable()) {
LOG(WARNING) << "Cannot start accepting WebRTC connections because "
"WebRTC is not available.";
"WebRTC is not available.";
return false;
}
if (IsAcceptingConnectionsLocked(service_id)) {
LOG(WARNING)
<< "Cannot start accepting WebRTC connections because service "
<< service_id << "is already accepting WebRTC connections.";
LOG(WARNING) << "Cannot start accepting WebRTC connections because service "
<< service_id << "is already accepting WebRTC connections.";
return false;
}
@@ -151,16 +150,15 @@ bool WebRtc::StartAcceptingConnections(const std::string& service_id,
// a successful result.
accepting_connections_info_.emplace(service_id, std::move(info));
LOG(INFO) << "Started listening for WebRTC connections as "
<< self_peer_id.GetId() << " on service " << service_id;
<< self_peer_id.GetId() << " on service " << service_id;
return true;
}
void WebRtc::StopAcceptingConnections(const std::string& service_id) {
MutexLock lock(&mutex_);
if (!IsAcceptingConnectionsLocked(service_id)) {
LOG(WARNING)
<< "Cannot stop accepting WebRTC connections because service "
<< service_id << "is not accepting WebRTC connections.";
LOG(WARNING) << "Cannot stop accepting WebRTC connections because service "
<< service_id << "is not accepting WebRTC connections.";
return;
}
@@ -206,7 +204,7 @@ void WebRtc::StopAcceptingConnections(const std::string& service_id) {
// Clean up our state. We're now no longer listening for connections.
accepting_connections_info_.erase(service_id);
LOG(INFO) << "Stopped listening for WebRTC connections for service "
<< service_id;
<< service_id;
}
ErrorOr<WebRtcSocketWrapper> WebRtc::Connect(
@@ -220,18 +218,17 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::Connect(
while (service_id_to_connect_attempts_count_map_[service_id] <=
kConnectAttemptsLimit) {
if (cancellation_flag->Cancelled()) {
LOG(WARNING)
<< "Attempt #"
<< service_id_to_connect_attempts_count_map_[service_id]
<< ": Cannot Connect with WebRtc due to cancel.";
LOG(WARNING) << "Attempt #"
<< service_id_to_connect_attempts_count_map_[service_id]
<< ": Cannot Connect with WebRtc due to cancel.";
return {
Error(OperationResultCode::
CLIENT_CANCELLATION_CANCEL_WEB_RTC_OUTGOING_CONNECTION)};
}
LOG(INFO) << "Attempt #"
<< service_id_to_connect_attempts_count_map_[service_id]
<< ": Beginning connection.";
<< service_id_to_connect_attempts_count_map_[service_id]
<< ": Beginning connection.";
wrapper_result = AttemptToConnect(service_id, remote_peer_id, location_hint,
cancellation_flag);
if (wrapper_result.has_value()) {
@@ -241,8 +238,7 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::Connect(
service_id_to_connect_attempts_count_map_[service_id]++;
}
LOG(WARNING) << "Giving up after " << kConnectAttemptsLimit
<< " attempts";
LOG(WARNING) << "Giving up after " << kConnectAttemptsLimit << " attempts";
return {Error(wrapper_result.error().operation_result_code().value())};
}
@@ -259,19 +255,17 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::AttemptToConnect(
// is complete.
CancellationFlagListener listener(
cancellation_flag, [this, &service_id, &socket_future]() {
LOG(WARNING)
<< "Attempt # "
<< service_id_to_connect_attempts_count_map_[service_id]
<< " to connect with WebRtc stopped due to cancel.";
LOG(WARNING) << "Attempt # "
<< service_id_to_connect_attempts_count_map_[service_id]
<< " to connect with WebRtc stopped due to cancel.";
socket_future.SetException({Exception::kFailed});
});
{
MutexLock lock(&mutex_);
if (!IsAvailable()) {
LOG(WARNING) << "Cannot connect to WebRTC peer "
<< remote_peer_id.GetId()
<< " because WebRTC is not available.";
LOG(WARNING) << "Cannot connect to WebRTC peer " << remote_peer_id.GetId()
<< " because WebRTC is not available.";
return {
Error(OperationResultCode::MEDIUM_UNAVAILABLE_WEB_RTC_NOT_AVAILABLE)};
}
@@ -280,9 +274,8 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::AttemptToConnect(
std::unique_ptr<ConnectionFlow> connection_flow =
CreateConnectionFlow(service_id, remote_peer_id);
if (!connection_flow) {
LOG(INFO) << "Cannot connect to WebRTC peer "
<< remote_peer_id.GetId()
<< " because we failed to create a ConnectionFlow.";
LOG(INFO) << "Cannot connect to WebRTC peer " << remote_peer_id.GetId()
<< " because we failed to create a ConnectionFlow.";
return {Error(OperationResultCode::NEARBY_WEB_RTC_CONNECTION_FLOW_NULL)};
}
@@ -290,9 +283,8 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::AttemptToConnect(
info.signaling_messenger = medium_->GetSignalingMessenger(
info.self_peer_id.GetId(), location_hint);
if (!info.signaling_messenger->IsValid()) {
LOG(INFO) << "Cannot connect to WebRTC peer "
<< remote_peer_id.GetId()
<< " because we failed to create a SignalingMessenger.";
LOG(INFO) << "Cannot connect to WebRTC peer " << remote_peer_id.GetId()
<< " because we failed to create a SignalingMessenger.";
return {
Error(OperationResultCode::
MISCELLEANEOUS_WEB_RTC_TACHYON_SIGNALING_MESSENGER_NULL)};
@@ -320,9 +312,8 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::AttemptToConnect(
if (!info.signaling_messenger->SendMessage(
remote_peer_id.GetId(),
webrtc_frames::EncodeReadyForSignalingPoke(info.self_peer_id))) {
LOG(INFO) << "Cannot connect to WebRTC peer "
<< remote_peer_id.GetId()
<< " because we failed to poke the peer over Tachyon.";
LOG(INFO) << "Cannot connect to WebRTC peer " << remote_peer_id.GetId()
<< " because we failed to poke the peer over Tachyon.";
info.signaling_messenger.reset();
return {Error(OperationResultCode::
CONNECTIVITY_WEB_RTC_CONNECT_TO_TACHYON_FAILURE)};
@@ -352,7 +343,7 @@ ErrorOr<WebRtcSocketWrapper> WebRtc::AttemptToConnect(
// Verify that the connection went through.
if (!socket_result.ok()) {
LOG(INFO) << "Failed to connect to WebRTC peer "
<< remote_peer_id.GetId();
<< remote_peer_id.GetId();
RemoveConnectionFlow(remote_peer_id);
info.signaling_messenger.reset();
requesting_connections_info_.erase(remote_peer_id.GetId());
@@ -385,8 +376,7 @@ void WebRtc::ProcessLocalIceCandidate(
webrtc_frames::EncodeIceCandidates(
connection_request_entry->second.self_peer_id,
{ice_candidate}))) {
LOG(INFO) << "Failed to send ice candidate to "
<< remote_peer_id.GetId();
LOG(INFO) << "Failed to send ice candidate to " << remote_peer_id.GetId();
}
LOG(INFO) << "Sent ice candidate to " << remote_peer_id.GetId();
@@ -405,8 +395,7 @@ void WebRtc::ProcessLocalIceCandidate(
webrtc_frames::EncodeIceCandidates(
accepting_connection_entry->second.self_peer_id,
{ice_candidate}))) {
LOG(INFO) << "Failed to send ice candidate to "
<< remote_peer_id.GetId();
LOG(INFO) << "Failed to send ice candidate to " << remote_peer_id.GetId();
}
LOG(INFO) << "Sent ice candidate to " << remote_peer_id.GetId();
@@ -414,8 +403,8 @@ void WebRtc::ProcessLocalIceCandidate(
}
LOG(INFO) << "Skipping restart listening for tachyon inbox messages "
"since we are not accepting connections for service "
<< service_id;
"since we are not accepting connections for service "
<< service_id;
}
void WebRtc::OnSignalingMessage(const std::string& service_id,
@@ -508,23 +497,20 @@ void WebRtc::SendOffer(const std::string& service_id,
std::unique_ptr<ConnectionFlow> connection_flow =
CreateConnectionFlow(service_id, remote_peer_id);
if (!connection_flow) {
LOG(INFO)
<< "Unable to send offer. Failed to create a ConnectionFlow.";
LOG(INFO) << "Unable to send offer. Failed to create a ConnectionFlow.";
return;
}
SessionDescriptionWrapper offer = connection_flow->CreateOffer();
if (!offer.IsValid()) {
LOG(INFO)
<< "Unable to send offer. Failed to create our offer locally.";
LOG(INFO) << "Unable to send offer. Failed to create our offer locally.";
RemoveConnectionFlow(remote_peer_id);
return;
}
const webrtc::SessionDescriptionInterface& sdp = offer.GetSdp();
if (!connection_flow->SetLocalSessionDescription(offer)) {
LOG(INFO)
<< "Unable to send offer. Failed to register our offer locally.";
LOG(INFO) << "Unable to send offer. Failed to register our offer locally.";
RemoveConnectionFlow(remote_peer_id);
return;
}
@@ -552,14 +538,12 @@ void WebRtc::ReceiveOffer(const WebrtcPeerId& remote_peer_id,
SessionDescriptionWrapper offer) {
const auto& entry = connection_flows_.find(remote_peer_id.GetId());
if (entry == connection_flows_.end()) {
LOG(INFO)
<< "Unable to receive offer. Failed to create a ConnectionFlow.";
LOG(INFO) << "Unable to receive offer. Failed to create a ConnectionFlow.";
return;
}
if (!entry->second->OnOfferReceived(offer)) {
LOG(INFO)
<< "Unable to receive offer. Failed to process the offer.";
LOG(INFO) << "Unable to receive offer. Failed to process the offer.";
RemoveConnectionFlow(remote_peer_id);
}
}
@@ -567,15 +551,13 @@ void WebRtc::ReceiveOffer(const WebrtcPeerId& remote_peer_id,
void WebRtc::SendAnswer(const WebrtcPeerId& remote_peer_id) {
const auto& entry = connection_flows_.find(remote_peer_id.GetId());
if (entry == connection_flows_.end()) {
LOG(INFO)
<< "Unable to send answer. Failed to create a ConnectionFlow.";
LOG(INFO) << "Unable to send answer. Failed to create a ConnectionFlow.";
return;
}
SessionDescriptionWrapper answer = entry->second->CreateAnswer();
if (!answer.IsValid()) {
LOG(INFO)
<< "Unable to send answer. Failed to create our answer locally.";
LOG(INFO) << "Unable to send answer. Failed to create our answer locally.";
RemoveConnectionFlow(remote_peer_id);
return;
}
@@ -593,7 +575,7 @@ void WebRtc::SendAnswer(const WebrtcPeerId& remote_peer_id) {
requesting_connections_info_.find(remote_peer_id.GetId());
if (connection_request_entry == requesting_connections_info_.end()) {
LOG(INFO) << "Unable to send answer. Failed to find an outgoing "
"connection request.";
"connection request.";
RemoveConnectionFlow(remote_peer_id);
return;
}
@@ -618,14 +600,12 @@ void WebRtc::ReceiveAnswer(const WebrtcPeerId& remote_peer_id,
SessionDescriptionWrapper answer) {
const auto& entry = connection_flows_.find(remote_peer_id.GetId());
if (entry == connection_flows_.end()) {
LOG(INFO)
<< "Unable to receive answer. Failed to create a ConnectionFlow.";
LOG(INFO) << "Unable to receive answer. Failed to create a ConnectionFlow.";
return;
}
if (!entry->second->OnAnswerReceived(answer)) {
LOG(INFO)
<< "Unable to receive answer. Failed to process the answer.";
LOG(INFO) << "Unable to receive answer. Failed to process the answer.";
RemoveConnectionFlow(remote_peer_id);
}
}
@@ -637,7 +617,7 @@ void WebRtc::ReceiveIceCandidates(
const auto& entry = connection_flows_.find(remote_peer_id.GetId());
if (entry == connection_flows_.end()) {
LOG(INFO) << "Unable to receive ice candidates. Failed to create a "
"ConnectionFlow.";
"ConnectionFlow.";
return;
}
@@ -677,8 +657,8 @@ void WebRtc::RestartTachyonReceiveMessages(const std::string& service_id) {
}
LOG(INFO) << "Successfully restarted listening for tachyon inbox "
"messages on service "
<< service_id;
"messages on service "
<< service_id;
}
void WebRtc::ProcessDataChannelOpen(const std::string& service_id,
@@ -706,15 +686,14 @@ void WebRtc::ProcessDataChannelOpen(const std::string& service_id,
// No one to handle the newly created DataChannel, so we'll just close it.
socket_wrapper.Close();
LOG(INFO) << "Ignoring new DataChannel because we are not accepting "
"connections for service "
<< service_id;
"connections for service "
<< service_id;
}
void WebRtc::ProcessDataChannelClosed(const WebrtcPeerId& remote_peer_id) {
MutexLock lock(&mutex_);
LOG(INFO)
<< "Data channel has closed, removing connection flow for peer "
<< remote_peer_id.GetId();
LOG(INFO) << "Data channel has closed, removing connection flow for peer "
<< remote_peer_id.GetId();
RemoveConnectionFlow(remote_peer_id);
}
@@ -71,7 +71,7 @@ class CreateSessionDescriptionObserverImpl
void OnFailure(webrtc::RTCError error) override {
LOG(ERROR) << "Error when creating session description: "
<< error.message();
<< error.message();
settable_future_.SetException({Exception::kFailed});
}
@@ -252,7 +252,7 @@ bool ConnectionFlow::SetLocalSessionDescription(SessionDescriptionWrapper sdp) {
bool success = result.ok() && result.result();
if (!success) {
LOG(ERROR) << "Failed to set local session description: "
<< result.exception();
<< result.exception();
}
return success;
}
@@ -284,8 +284,7 @@ bool ConnectionFlow::SetRemoteSessionDescription(SessionDescriptionWrapper sdp,
ExceptionOr<bool> result = observer->GetResult(kTimeout);
bool success = result.ok() && result.result();
if (!success) {
LOG(ERROR) << "Failed to set remote description: "
<< result.exception();
LOG(ERROR) << "Failed to set remote description: " << result.exception();
}
return success;
}
@@ -330,8 +329,7 @@ void ConnectionFlow::AddIceCandidatesOnSignalingThread(
ice_candidates) {
CHECK(IsRunningOnSignalingThread());
if (state_ == State::kEnded) {
LOG(WARNING)
<< "You cannot add ice candidates to a disconnected session.";
LOG(WARNING) << "You cannot add ice candidates to a disconnected session.";
return;
}
if (state_ != State::kWaitingToConnect && state_ != State::kConnected) {
@@ -397,8 +395,7 @@ bool ConnectionFlow::InitPeerConnection(WebRtcMedium& webrtc_medium) {
bool success = result.ok() && result.result();
if (!success) {
shutdown_latch_.CountDown();
LOG(ERROR) << "Failed to create peer connection: "
<< result.exception();
LOG(ERROR) << "Failed to create peer connection: " << result.exception();
}
return success;
}
@@ -424,7 +421,7 @@ void ConnectionFlow::CreateSocketFromDataChannel(
CHECK(IsRunningOnSignalingThread());
if (!TransitionState(State::kWaitingToConnect, State::kConnected)) {
LOG(ERROR) << "Data channel socket is open but connection "
"flow was not in the required state";
"flow was not in the required state";
socket->Close();
return;
}
@@ -475,7 +472,7 @@ void ConnectionFlow::OnConnectionChange(
new_state == PeerConnectionState::kFailed ||
new_state == PeerConnectionState::kDisconnected) {
LOG(INFO) << "Closing due to peer connection state change: "
<< static_cast<int>(new_state);
<< static_cast<int>(new_state);
CloseOnSignalingThread();
}
}
@@ -499,13 +496,13 @@ bool ConnectionFlow::TransitionState(State current_state, State new_state) {
CHECK(IsRunningOnSignalingThread());
if (current_state != state_) {
LOG(WARNING) << "Invalid state transition to "
<< static_cast<int>(new_state) << ": current state is "
<< static_cast<int>(state_) << " but expected "
<< static_cast<int>(current_state);
<< static_cast<int>(new_state) << ": current state is "
<< static_cast<int>(state_) << " but expected "
<< static_cast<int>(current_state);
return false;
}
LOG(INFO) << "Transition: " << static_cast<int>(state_) << "->"
<< static_cast<int>(new_state);
<< static_cast<int>(new_state);
state_ = new_state;
return true;
}
@@ -540,25 +537,24 @@ bool ConnectionFlow::RunOnSignalingThread(Runnable&& runnable) {
CHECK(!IsRunningOnSignalingThread());
auto pc = GetPeerConnection();
if (!pc) {
LOG(WARNING)
<< "Peer connection not available. Cannot schedule tasks.";
LOG(WARNING) << "Peer connection not available. Cannot schedule tasks.";
return false;
}
// We are off signaling thread, so we can't use peer connection's methods
// but we can access the signaling thread handle.
pc->signaling_thread()->PostTask([can_run_tasks =
std::weak_ptr<void>(can_run_tasks_),
task = std::move(runnable)]() mutable {
// Don't run the task if the weak_ptr is no longer valid.
// shared_ptr |can_run_tasks_| is destroyed on the same thread
// (signaling thread). This guarantees that if the weak_ptr is valid
// when this task starts, it will stay valid until the task ends.
if (!can_run_tasks.lock()) {
LOG(INFO) << "Peer connection already closed. Cannot run tasks.";
return;
}
task();
});
pc->signaling_thread()->PostTask(
[can_run_tasks = std::weak_ptr<void>(can_run_tasks_),
task = std::move(runnable)]() mutable {
// Don't run the task if the weak_ptr is no longer valid.
// shared_ptr |can_run_tasks_| is destroyed on the same thread
// (signaling thread). This guarantees that if the weak_ptr is valid
// when this task starts, it will stay valid until the task ends.
if (!can_run_tasks.lock()) {
LOG(INFO) << "Peer connection already closed. Cannot run tasks.";
return;
}
task();
});
return true;
}
@@ -67,23 +67,21 @@ WebRtcSocket::WebRtcSocket(
const std::string& name,
webrtc::scoped_refptr<webrtc::DataChannelInterface> data_channel)
: name_(name), data_channel_(std::move(data_channel)) {
LOG(INFO) << "WebRtcSocket::WebRtcSocket(" << name_
<< ") this: " << this;
LOG(INFO) << "WebRtcSocket::WebRtcSocket(" << name_ << ") this: " << this;
std::tie(pipe_input_, pipe_output_) = CreatePipe();
data_channel_->RegisterObserver(this);
}
WebRtcSocket::~WebRtcSocket() {
LOG(INFO) << "WebRtcSocket::~WebRtcSocket(" << name_
<< ") this: " << this;
LOG(INFO) << "WebRtcSocket::~WebRtcSocket(" << name_ << ") this: " << this;
if (!IsClosed()) {
data_channel_->UnregisterObserver();
Close();
}
LOG(INFO) << "WebRtcSocket::~WebRtcSocket(" << name_
<< ") this: " << this << " done";
LOG(INFO) << "WebRtcSocket::~WebRtcSocket(" << name_ << ") this: " << this
<< " done";
}
InputStream& WebRtcSocket::GetInputStream() { return *pipe_input_; }
@@ -99,16 +97,15 @@ Exception WebRtcSocket::Close() {
// to 'closing' but does not block until 'closed' is sent so the data channel
// is not fully closed when this call is done.
data_channel_->Close();
LOG(INFO) << "WebRtcSocket::Close(" << name_ << ") this: " << this
<< " done";
LOG(INFO) << "WebRtcSocket::Close(" << name_ << ") this: " << this << " done";
return {Exception::kSuccess};
}
void WebRtcSocket::OnStateChange() {
// Running on the signaling thread right now.
LOG(ERROR)
<< "WebRtcSocket::OnStateChange() webrtc data channel state: "
<< webrtc::DataChannelInterface::DataStateString(data_channel_->state());
LOG(ERROR) << "WebRtcSocket::OnStateChange() webrtc data channel state: "
<< webrtc::DataChannelInterface::DataStateString(
data_channel_->state());
switch (data_channel_->state()) {
case webrtc::DataChannelInterface::DataState::kConnecting:
break;
@@ -121,7 +118,7 @@ void WebRtcSocket::OnStateChange() {
break;
case webrtc::DataChannelInterface::DataState::kClosed:
LOG(ERROR) << "WebRtcSocket::OnStateChange() unregistering data "
"channel observer.";
"channel observer.";
// This will trigger a destruction of the owning connection flow
// We implicitly depend on the |socket_listener_| to offload from
// the signaling thread so it does not get blocked.
@@ -163,8 +160,7 @@ bool WebRtcSocket::SendMessage(const ByteArray& data) {
bool WebRtcSocket::IsClosed() { return closed_.Get(); }
void WebRtcSocket::ClosePipe() {
LOG(INFO) << "WebRtcSocket::ClosePipe(" << name_
<< ") this: " << this;
LOG(INFO) << "WebRtcSocket::ClosePipe(" << name_ << ") this: " << this;
// This is thread-safe to close these sockets even if a read or write is in
// process on another thread, Close will wait for the exclusive mutex before
// setting state.
@@ -172,7 +168,7 @@ void WebRtcSocket::ClosePipe() {
pipe_output_->Close();
WakeUpWriter();
LOG(INFO) << "WebRtcSocket::ClosePipe(" << name_ << ") this: " << this
<< " done";
<< " done";
}
// Must not be called on signalling thread.
@@ -22,8 +22,8 @@
#include "internal/platform/expected.h"
#include "internal/platform/logging.h"
#include "internal/platform/mutex_lock.h"
#include "internal/platform/wifi_direct.h"
#include "internal/platform/wifi_credential.h"
#include "internal/platform/wifi_direct.h"
namespace nearby {
namespace connections {
@@ -106,8 +106,7 @@ bool WifiDirect::ConnectWifiDirect(const std::string& ssid,
const std::string& password) {
MutexLock lock(&mutex_);
if (is_connected_to_go_) {
LOG(INFO)
<< "No need to connect to GO because it is already connected.";
LOG(INFO) << "No need to connect to GO because it is already connected.";
return true;
}
is_connected_to_go_ = medium_.ConnectWifiDirect(ssid, password);
@@ -117,8 +116,7 @@ bool WifiDirect::ConnectWifiDirect(const std::string& ssid,
bool WifiDirect::DisconnectWifiDirect() {
MutexLock lock(&mutex_);
if (!is_connected_to_go_) {
LOG(INFO)
<< "No need to disconnect to GO because it is not connected.";
LOG(INFO) << "No need to disconnect to GO because it is not connected.";
return true;
}
is_connected_to_go_ = false;
@@ -134,7 +132,7 @@ WifiDirectCredentials* WifiDirect::GetCredentials(
const auto& it = server_sockets_.find(service_id);
if (it == server_sockets_.end()) {
LOG(INFO) << "No server socket found for service_id:" << service_id
<< ". Use default credentials";
<< ". Use default credentials";
return crendential;
}
crendential->SetGateway(it->second.GetIPAddress());
@@ -149,9 +147,8 @@ bool WifiDirect::StartAcceptingConnections(
MutexLock lock(&mutex_);
if (service_id.empty()) {
LOG(INFO)
<< "Can not to start accepting WifiDirect GC's connections; "
"service_id is empty.";
LOG(INFO) << "Can not to start accepting WifiDirect GC's connections; "
"service_id is empty.";
return false;
}
@@ -211,16 +208,15 @@ bool WifiDirect::StopAcceptingConnections(const std::string& service_id) {
MutexLock lock(&mutex_);
if (service_id.empty()) {
LOG(INFO)
<< "Unable to stop accepting WifiDirect GC's connections because "
"the service_id is empty.";
LOG(INFO) << "Unable to stop accepting WifiDirect GC's connections because "
"the service_id is empty.";
return false;
}
const auto& it = server_sockets_.find(service_id);
if (it == server_sockets_.end()) {
LOG(INFO) << "Can't stop accepting WifiDirect GC's connections for "
<< service_id << " because it was never started.";
<< service_id << " because it was never started.";
return false;
}
@@ -241,9 +237,8 @@ bool WifiDirect::StopAcceptingConnections(const std::string& service_id) {
// Finally, close the WifiDirectServerSocket.
if (!listening_socket.Close().Ok()) {
LOG(INFO)
<< "Failed to close WifiDirect server socket for service_id:"
<< service_id;
LOG(INFO) << "Failed to close WifiDirect server socket for service_id:"
<< service_id;
return false;
}
@@ -268,13 +263,13 @@ ErrorOr<WifiDirectSocket> WifiDirect::Connect(
if (service_id.empty()) {
LOG(INFO) << "Refusing to create client WifiDirect socket because "
"service_id is empty.";
"service_id is empty.";
return {Error(OperationResultCode::NEARBY_LOCAL_CLIENT_STATE_WRONG)};
}
if (!IsGCAvailableLocked()) {
LOG(INFO) << "Can't create WifiDirect client socket [service_id="
<< service_id << "]; WifiDirect GC isn't available.";
<< service_id << "]; WifiDirect GC isn't available.";
return {Error(
OperationResultCode::MEDIUM_UNAVAILABLE_WIFI_DIRECT_NOT_AVAILABLE)};
}
@@ -289,7 +284,7 @@ ErrorOr<WifiDirectSocket> WifiDirect::Connect(
socket = medium_.ConnectToService(ip_address, port, cancellation_flag);
if (!socket.IsValid()) {
LOG(INFO) << "Failed to Connect via WifiDirect Server [service_id="
<< service_id << "]";
<< service_id << "]";
return {Error(OperationResultCode::
CONNECTIVITY_WIFI_DIRECT_CLIENT_SOCKET_CREATION_FAILURE)};
}
@@ -75,8 +75,7 @@ bool WifiHotspot::IsHotspotStarted() {
bool WifiHotspot::StartWifiHotspot() {
MutexLock lock(&mutex_);
if (is_hotspot_started_) {
LOG(INFO)
<< "No need to start Hotspot because it is already started.";
LOG(INFO) << "No need to start Hotspot because it is already started.";
return true;
}
is_hotspot_started_ = medium_.StartWifiHotspot();
@@ -132,7 +131,7 @@ HotspotCredentials* WifiHotspot::GetCredentials(absl::string_view service_id) {
const auto& it = server_sockets_.find(service_id);
if (it == server_sockets_.end()) {
LOG(INFO) << "No server socket found for service_id:" << service_id
<< ". Use default credentials";
<< ". Use default credentials";
return crendential;
}
crendential->SetGateway(it->second.GetIPAddress());
@@ -148,14 +147,13 @@ bool WifiHotspot::StartAcceptingConnections(
if (service_id.empty()) {
LOG(INFO) << "Can not to start accepting WifiHotspot connections; "
"service_id is empty.";
"service_id is empty.";
return false;
}
if (!IsAPAvailableLocked()) {
LOG(INFO)
<< "Can't start accepting WifiHotspot connections [service_id="
<< service_id << "]; WifiHotspot not available.";
LOG(INFO) << "Can't start accepting WifiHotspot connections [service_id="
<< service_id << "]; WifiHotspot not available.";
return false;
}
@@ -208,16 +206,15 @@ bool WifiHotspot::StopAcceptingConnections(const std::string& service_id) {
MutexLock lock(&mutex_);
if (service_id.empty()) {
LOG(INFO)
<< "Unable to stop accepting WifiHotspot connections because "
"the service_id is empty.";
LOG(INFO) << "Unable to stop accepting WifiHotspot connections because "
"the service_id is empty.";
return false;
}
const auto& it = server_sockets_.find(service_id);
if (it == server_sockets_.end()) {
LOG(INFO) << "Can't stop accepting WifiHotspot connections for "
<< service_id << " because it was never started.";
<< service_id << " because it was never started.";
return false;
}
@@ -238,9 +235,8 @@ bool WifiHotspot::StopAcceptingConnections(const std::string& service_id) {
// Finally, close the WifiHotspotServerSocket.
if (!listening_socket.Close().Ok()) {
LOG(INFO)
<< "Failed to close WifiHotspot server socket for service_id:"
<< service_id;
LOG(INFO) << "Failed to close WifiHotspot server socket for service_id:"
<< service_id;
return false;
}
@@ -265,13 +261,13 @@ ErrorOr<WifiHotspotSocket> WifiHotspot::Connect(
if (service_id.empty()) {
LOG(INFO) << "Refusing to create client WifiHotspot socket because "
"service_id is empty.";
"service_id is empty.";
return {Error(OperationResultCode::NEARBY_LOCAL_CLIENT_STATE_WRONG)};
}
if (!IsClientAvailableLocked()) {
LOG(INFO) << "Can't create client WifiHotspot socket [service_id="
<< service_id << "]; WifiHotspot isn't available.";
<< service_id << "]; WifiHotspot isn't available.";
return {Error(
OperationResultCode::MEDIUM_UNAVAILABLE_WIFI_HOTSPOT_NOT_AVAILABLE)};
}
@@ -285,8 +281,8 @@ ErrorOr<WifiHotspotSocket> WifiHotspot::Connect(
socket = medium_.ConnectToService(ip_address, port, cancellation_flag);
if (!socket.IsValid()) {
LOG(INFO) << "Failed to Connect via WifiHotspot [service_id="
<< service_id << "]";
LOG(INFO) << "Failed to Connect via WifiHotspot [service_id=" << service_id
<< "]";
return {
Error(OperationResultCode::
CONNECTIVITY_WIFI_HOTSPOT_CLIENT_SOCKET_CREATION_FAILURE)};
+63 -78
View File
@@ -59,8 +59,8 @@ WifiLan::~WifiLan() {
{
MutexLock lock(&mutex_);
if (is_multiplex_enabled_) {
LOG(INFO) << "Closing multiplex sockets for "
<< multiplex_sockets_.size() << " IPs";
LOG(INFO) << "Closing multiplex sockets for " << multiplex_sockets_.size()
<< " IPs";
for (auto& [ip_addr, multiplex_socket] : multiplex_sockets_) {
LOG(INFO) << "Closing multiplex sockets for: " << ip_addr;
multiplex_socket->~MultiplexSocket();
@@ -87,8 +87,7 @@ ErrorOr<bool> WifiLan::StartAdvertising(const std::string& service_id,
MutexLock lock(&mutex_);
if (!IsAvailableLocked()) {
LOG(INFO)
<< "Can't turn on WifiLan advertising. WifiLan is not available.";
LOG(INFO) << "Can't turn on WifiLan advertising. WifiLan is not available.";
return {Error(OperationResultCode::MEDIUM_UNAVAILABLE_LAN_NOT_AVAILABLE)};
}
@@ -106,12 +105,11 @@ ErrorOr<bool> WifiLan::StartAdvertising(const std::string& service_id,
}
if (!IsAcceptingConnectionsLocked(service_id)) {
LOG(INFO)
<< "Failed to turn on WifiLan advertising with nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_id=" << service_id
<< ". Should accept connections before advertising.";
LOG(INFO) << "Failed to turn on WifiLan advertising with nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_id=" << service_id
<< ". Should accept connections before advertising.";
return {Error(OperationResultCode::
CLIENT_DUPLICATE_ACCEPTING_LAN_CONNECTION_REQUEST)};
}
@@ -123,19 +121,18 @@ ErrorOr<bool> WifiLan::StartAdvertising(const std::string& service_id,
nsd_service_info.SetPort(it->second.GetPort());
}
if (!medium_.StartAdvertising(nsd_service_info)) {
LOG(INFO)
<< "Failed to turn on WifiLan advertising with nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_id=" << service_id;
LOG(INFO) << "Failed to turn on WifiLan advertising with nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_id=" << service_id;
return {Error(
OperationResultCode::CONNECTIVITY_WIFI_LAN_START_ADVERTISING_FAILURE)};
}
LOG(INFO) << "Turned on WifiLan advertising with nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_id=" << service_id;
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_id=" << service_id;
advertising_info_.Add(service_id, std::move(nsd_service_info));
return {true};
}
@@ -144,13 +141,11 @@ bool WifiLan::StopAdvertising(const std::string& service_id) {
MutexLock lock(&mutex_);
if (!IsAdvertisingLocked(service_id)) {
LOG(INFO)
<< "Can't turn off WifiLan advertising; it is already off";
LOG(INFO) << "Can't turn off WifiLan advertising; it is already off";
return false;
}
LOG(INFO) << "Turned off WifiLan advertising with service_id="
<< service_id;
LOG(INFO) << "Turned off WifiLan advertising with service_id=" << service_id;
bool ret =
medium_.StopAdvertising(*advertising_info_.GetServiceInfo(service_id));
// Reset our bundle of advertising state to mark that we're no longer
@@ -174,8 +169,7 @@ ErrorOr<bool> WifiLan::StartDiscovery(const std::string& service_id,
MutexLock lock(&mutex_);
if (service_id.empty()) {
LOG(INFO)
<< "Refusing to start WifiLan discovering with empty service_id.";
LOG(INFO) << "Refusing to start WifiLan discovering with empty service_id.";
return {Error(OperationResultCode::NEARBY_LOCAL_CLIENT_STATE_WRONG)};
}
@@ -202,8 +196,7 @@ ErrorOr<bool> WifiLan::StartDiscovery(const std::string& service_id,
OperationResultCode::CONNECTIVITY_WIFI_LAN_START_DISCOVERY_FAILURE)};
}
LOG(INFO) << "Turned on WifiLan discovering with service_id="
<< service_id;
LOG(INFO) << "Turned on WifiLan discovering with service_id=" << service_id;
// Mark the fact that we're currently performing a WifiLan discovering.
discovering_info_.Add(service_id);
return {true};
@@ -213,15 +206,14 @@ bool WifiLan::StopDiscovery(const std::string& service_id) {
MutexLock lock(&mutex_);
if (!IsDiscoveringLocked(service_id)) {
LOG(INFO)
<< "Can't turn off WifiLan discovering because we never started "
"discovering.";
LOG(INFO) << "Can't turn off WifiLan discovering because we never started "
"discovering.";
return false;
}
std::string service_type = GenerateServiceType(service_id);
LOG(INFO) << "Turned off WifiLan discovering with service_id="
<< service_id << ", service_type=" << service_type;
LOG(INFO) << "Turned off WifiLan discovering with service_id=" << service_id
<< ", service_type=" << service_type;
bool ret = medium_.StopDiscovery(service_type);
discovering_info_.Remove(service_id);
return ret;
@@ -242,23 +234,21 @@ ErrorOr<bool> WifiLan::StartAcceptingConnections(
if (service_id.empty()) {
LOG(INFO) << "Refusing to start accepting WifiLan connections; "
"service_id is empty.";
"service_id is empty.";
return {Error(OperationResultCode::NEARBY_LOCAL_CLIENT_STATE_WRONG)};
}
if (!IsAvailableLocked()) {
LOG(INFO)
<< "Can't start accepting WifiLan connections [service_id="
<< service_id << "]; WifiLan not available.";
LOG(INFO) << "Can't start accepting WifiLan connections [service_id="
<< service_id << "]; WifiLan not available.";
return {Error(
OperationResultCode::MEDIUM_UNAVAILABLE_WIFI_AWARE_NOT_AVAILABLE)};
}
if (IsAcceptingConnectionsLocked(service_id)) {
LOG(INFO)
<< "Refusing to start accepting WifiLan connections [service="
<< service_id
<< "]; WifiLan server is already in-progress with the same name.";
LOG(INFO) << "Refusing to start accepting WifiLan connections [service="
<< service_id
<< "]; WifiLan server is already in-progress with the same name.";
return {Error(OperationResultCode::
CLIENT_DUPLICATE_ACCEPTING_LAN_CONNECTION_REQUEST)};
}
@@ -275,9 +265,8 @@ ErrorOr<bool> WifiLan::StartAcceptingConnections(
}
WifiLanServerSocket server_socket = medium_.ListenForService(port);
if (!server_socket.IsValid()) {
LOG(INFO)
<< "Failed to start accepting WifiLan connections for service_id="
<< service_id;
LOG(INFO) << "Failed to start accepting WifiLan connections for service_id="
<< service_id;
return {Error(OperationResultCode::
CLIENT_CANCELLATION_WIFI_LAN_SERVER_SOCKET_CREATION)};
}
@@ -351,7 +340,7 @@ ErrorOr<bool> WifiLan::StartAcceptingConnections(
MultiplexSocket::StopListeningForIncomingConnection(
service_id, Medium::WIFI_LAN);
LOG(INFO) << "Multiplex virtaul socket created for "
<< server_socket.GetIPAddress();
<< server_socket.GetIPAddress();
if (callback) {
callback(
service_id,
@@ -377,14 +366,14 @@ bool WifiLan::StopAcceptingConnections(const std::string& service_id) {
if (service_id.empty()) {
LOG(INFO) << "Unable to stop accepting WifiLan connections because "
"the service_id is empty.";
"the service_id is empty.";
return false;
}
const auto& it = server_sockets_.find(service_id);
if (it == server_sockets_.end()) {
LOG(INFO) << "Can't stop accepting WifiLan connections for "
<< service_id << " because it was never started.";
LOG(INFO) << "Can't stop accepting WifiLan connections for " << service_id
<< " because it was never started.";
return false;
}
if (is_multiplex_enabled_) {
@@ -410,7 +399,7 @@ bool WifiLan::StopAcceptingConnections(const std::string& service_id) {
// Finally, close the WifiLanServerSocket.
if (!listening_socket.Close().Ok()) {
LOG(INFO) << "Failed to close WifiLan server socket for service_id="
<< service_id;
<< service_id;
return false;
}
@@ -435,13 +424,13 @@ ErrorOr<WifiLanSocket> WifiLan::Connect(const std::string& service_id,
if (service_id.empty()) {
LOG(INFO) << "Refusing to create client WifiLan socket because "
"service_id is empty.";
"service_id is empty.";
return {Error(OperationResultCode::NEARBY_LOCAL_CLIENT_STATE_WRONG)};
}
if (!IsAvailableLocked()) {
LOG(INFO) << "Can't create client WifiLan socket [service_id="
<< service_id << "]; WifiLan isn't available.";
LOG(INFO) << "Can't create client WifiLan socket [service_id=" << service_id
<< "]; WifiLan isn't available.";
return {Error(OperationResultCode::MEDIUM_UNAVAILABLE_LAN_NOT_AVAILABLE)};
}
@@ -459,8 +448,8 @@ ErrorOr<WifiLanSocket> WifiLan::Connect(const std::string& service_id,
socket = medium_.ConnectToService(service_info, cancellation_flag);
if (!socket.IsValid()) {
LOG(INFO) << "Failed to Connect via WifiLan [service_id="
<< service_id << "]";
LOG(INFO) << "Failed to Connect via WifiLan [service_id=" << service_id
<< "]";
return {Error(
OperationResultCode::CONNECTIVITY_LAN_CLIENT_SOCKET_CREATION_FAILURE)};
} else {
@@ -468,15 +457,14 @@ ErrorOr<WifiLanSocket> WifiLan::Connect(const std::string& service_id,
CreateOutgoingMultiplexSocketLocked(socket, service_id,
service_info.GetIPAddress());
if (virtual_socket.ok()) {
LOG(INFO)
<< "Successfully connected via Multiplex WifiLan [service_id="
<< service_id << "]";
LOG(INFO) << "Successfully connected via Multiplex WifiLan [service_id="
<< service_id << "]";
return virtual_socket.result();
}
}
LOG(INFO) << "Successfully connected via WifiLan [service_id="
<< service_id << "]";
LOG(INFO) << "Successfully connected via WifiLan [service_id=" << service_id
<< "]";
return socket;
}
@@ -489,13 +477,13 @@ ErrorOr<WifiLanSocket> WifiLan::Connect(const std::string& service_id,
if (service_id.empty()) {
LOG(INFO) << "Refusing to create client WifiLan socket because "
"service_id is empty.";
"service_id is empty.";
return {Error(OperationResultCode::NEARBY_LOCAL_CLIENT_STATE_WRONG)};
}
if (!IsAvailableLocked()) {
LOG(INFO) << "Can't create client WifiLan socket [service_id="
<< service_id << "]; WifiLan isn't available.";
LOG(INFO) << "Can't create client WifiLan socket [service_id=" << service_id
<< "]; WifiLan isn't available.";
return {Error(OperationResultCode::MEDIUM_UNAVAILABLE_LAN_NOT_AVAILABLE)};
}
@@ -513,38 +501,35 @@ ErrorOr<WifiLanSocket> WifiLan::Connect(const std::string& service_id,
socket = medium_.ConnectToService(ip_address, port, cancellation_flag);
if (!socket.IsValid()) {
LOG(INFO) << "Failed to Connect via WifiLan [service_id="
<< service_id << "]";
LOG(INFO) << "Failed to Connect via WifiLan [service_id=" << service_id
<< "]";
return {Error(
OperationResultCode::CONNECTIVITY_LAN_CLIENT_SOCKET_CREATION_FAILURE)};
} else {
ExceptionOr<WifiLanSocket> virtual_socket =
CreateOutgoingMultiplexSocketLocked(socket, service_id, ip_address);
if (virtual_socket.ok()) {
LOG(INFO)
<< "Successfully connected via Multiplex WifiLan [service_id="
<< service_id << "]";
LOG(INFO) << "Successfully connected via Multiplex WifiLan [service_id="
<< service_id << "]";
return virtual_socket.result();
}
}
LOG(INFO) << "Successfully connected via WifiLan [service_id="
<< service_id << "]";
LOG(INFO) << "Successfully connected via WifiLan [service_id=" << service_id
<< "]";
return socket;
}
ExceptionOr<WifiLanSocket> WifiLan::ConnectWithMultiplexSocketLocked(
const std::string& service_id, const std::string& ip_address) {
if (is_multiplex_enabled_) {
LOG(INFO) << "multiplex_sockets_ size:"
<< multiplex_sockets_.size();
LOG(INFO) << "multiplex_sockets_ size:" << multiplex_sockets_.size();
auto it = multiplex_sockets_.find(ip_address);
if (it != multiplex_sockets_.end()) {
MultiplexSocket* multiplex_socket = it->second;
if (multiplex_socket->IsShutdown()) {
LOG(INFO)
<< "Erase multiplex_socket(already shutdown) for ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
LOG(INFO) << "Erase multiplex_socket(already shutdown) for ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
multiplex_socket->~MultiplexSocket();
multiplex_sockets_.erase(it);
return ExceptionOr<WifiLanSocket>(Exception::kFailed);
@@ -555,9 +540,9 @@ ExceptionOr<WifiLanSocket> WifiLan::ConnectWithMultiplexSocketLocked(
// Should not happen.
auto* wlan_socket = down_cast<WifiLanSocket*>(virtual_socket);
if (wlan_socket == nullptr) {
LOG(INFO) << "Failed to cast to WifiLanSocket for "
<< service_id << " with ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
LOG(INFO) << "Failed to cast to WifiLanSocket for " << service_id
<< " with ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
return ExceptionOr<WifiLanSocket>(Exception::kFailed);
}
return ExceptionOr<WifiLanSocket>(*wlan_socket);
@@ -582,12 +567,12 @@ ExceptionOr<WifiLanSocket> WifiLan::CreateOutgoingMultiplexSocketLocked(
auto* wlan_socket = down_cast<WifiLanSocket*>(virtual_socket);
if (wlan_socket == nullptr) {
LOG(INFO) << "Failed to cast to WifiLanSocket for " << service_id
<< " with ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
<< " with ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
return ExceptionOr<WifiLanSocket>(Exception::kFailed);
}
LOG(INFO) << "Multiplex socket created for ip_address: "
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
<< WifiUtils::GetHumanReadableIpAddress(ip_address);
multiplex_sockets_.emplace(ip_address, multiplex_socket);
return ExceptionOr<WifiLanSocket>(*wlan_socket);
}
@@ -93,8 +93,7 @@ TEST_P(WifiLanTest, CanConnect) {
.service_discovered_cb =
[&discovered_latch, &discovered_service_info](
NsdServiceInfo service_info, const std::string& service_id) {
LOG(INFO)
<< "Discovered service_info=" << &service_info;
LOG(INFO) << "Discovered service_info=" << &service_info;
discovered_service_info = service_info;
discovered_latch.CountDown();
},
@@ -162,7 +161,7 @@ TEST_P(WifiLanTest, CanConnectWithMultiplex) {
NsdServiceInfo service_info,
const std::string& service_id) {
LOG(INFO) << "Discovered service_info="
<< &service_info;
<< &service_info;
discovered_service_info = service_info;
discovered_latch.CountDown();
},
@@ -224,8 +223,7 @@ TEST_P(WifiLanTest, CanCancelConnect) {
.service_discovered_cb =
[&discovered_latch, &discovered_service_info](
NsdServiceInfo service_info, const std::string& service_id) {
LOG(INFO)
<< "Discovered service_info=" << &service_info;
LOG(INFO) << "Discovered service_info=" << &service_info;
discovered_service_info = service_info;
discovered_latch.CountDown();
},
@@ -54,8 +54,7 @@ Status OfflineServiceController::StartAdvertising(
const ConnectionRequestInfo& info) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to start advertising for service_id "
<< service_id;
<< " requested to start advertising for service_id " << service_id;
return pcp_manager_.StartAdvertising(client, service_id, advertising_options,
info);
}
@@ -63,8 +62,8 @@ Status OfflineServiceController::StartAdvertising(
void OfflineServiceController::StopAdvertising(ClientProxy* client) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to stop advertising for service_id "
<< client->GetAdvertisingServiceId();
<< " requested to stop advertising for service_id "
<< client->GetAdvertisingServiceId();
pcp_manager_.StopAdvertising(client);
}
@@ -73,8 +72,7 @@ Status OfflineServiceController::StartDiscovery(
const DiscoveryOptions& discovery_options, DiscoveryListener listener) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to start discovery for service_id "
<< service_id;
<< " requested to start discovery for service_id " << service_id;
return pcp_manager_.StartDiscovery(client, service_id, discovery_options,
std::move(listener));
}
@@ -82,8 +80,8 @@ Status OfflineServiceController::StartDiscovery(
void OfflineServiceController::StopDiscovery(ClientProxy* client) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to stop discovery for service_id "
<< client->GetDiscoveryServiceId();
<< " requested to stop discovery for service_id "
<< client->GetDiscoveryServiceId();
pcp_manager_.StopDiscovery(client);
}
@@ -93,8 +91,7 @@ OfflineServiceController::StartListeningForIncomingConnections(
v3::ConnectionListener listener,
const v3::ConnectionListeningOptions& options) {
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to start listening for service_id "
<< service_id;
<< " requested to start listening for service_id " << service_id;
return pcp_manager_.StartListeningForIncomingConnections(
client, service_id, std::move(listener), options);
}
@@ -102,8 +99,8 @@ OfflineServiceController::StartListeningForIncomingConnections(
void OfflineServiceController::StopListeningForIncomingConnections(
ClientProxy* client) {
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to stop listening for service_id "
<< client->GetListeningForIncomingConnectionsServiceId();
<< " requested to stop listening for service_id "
<< client->GetListeningForIncomingConnectionsServiceId();
pcp_manager_.StopListeningForIncomingConnections(client);
}
@@ -112,12 +109,12 @@ void OfflineServiceController::InjectEndpoint(
const OutOfBandConnectionMetadata& metadata) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to inject endpoint {endpoint_id:"
<< metadata.endpoint_id << ", endpoint_info:"
<< metadata.endpoint_info.AsStringView()
<< ",remote_bluetooth_mac_address:"
<< metadata.remote_bluetooth_mac_address.AsStringView()
<< "} for service_id " << service_id;
<< " requested to inject endpoint {endpoint_id:"
<< metadata.endpoint_id
<< ", endpoint_info:" << metadata.endpoint_info.AsStringView()
<< ",remote_bluetooth_mac_address:"
<< metadata.remote_bluetooth_mac_address.AsStringView()
<< "} for service_id " << service_id;
pcp_manager_.InjectEndpoint(client, service_id, metadata);
}
@@ -127,7 +124,7 @@ Status OfflineServiceController::RequestConnection(
const ConnectionOptions& connection_options) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " requested a connection to endpoint_id " << endpoint_id;
<< " requested a connection to endpoint_id " << endpoint_id;
return pcp_manager_.RequestConnection(client, endpoint_id, info,
connection_options);
}
@@ -138,8 +135,8 @@ Status OfflineServiceController::RequestConnectionV3(
const ConnectionOptions& connection_options) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " requested a connection to endpoint_id "
<< remote_device.GetEndpointId();
<< " requested a connection to endpoint_id "
<< remote_device.GetEndpointId();
return pcp_manager_.RequestConnectionV3(client, remote_device, info,
connection_options);
}
@@ -149,8 +146,7 @@ Status OfflineServiceController::AcceptConnection(
PayloadListener listener) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " accepted the connection from endpoint_id "
<< endpoint_id;
<< " accepted the connection from endpoint_id " << endpoint_id;
return pcp_manager_.AcceptConnection(client, endpoint_id,
std::move(listener));
}
@@ -159,8 +155,7 @@ Status OfflineServiceController::RejectConnection(
ClientProxy* client, const std::string& endpoint_id) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " rejected the connection from endpoint_id "
<< endpoint_id;
<< " rejected the connection from endpoint_id " << endpoint_id;
return pcp_manager_.RejectConnection(client, endpoint_id);
}
@@ -168,8 +163,8 @@ void OfflineServiceController::InitiateBandwidthUpgrade(
ClientProxy* client, const std::string& endpoint_id) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " initiated a manual bandwidth upgrade with endpoint_id "
<< endpoint_id;
<< " initiated a manual bandwidth upgrade with endpoint_id "
<< endpoint_id;
bwu_manager_.InitiateBwuForEndpoint(client, endpoint_id);
}
@@ -178,17 +173,17 @@ void OfflineServiceController::SendPayload(
Payload payload) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " is sending payload {id:" << payload.GetId()
<< ", type:" << payload.GetType() << "} to endpoint_ids {"
<< absl::StrJoin(endpoint_ids, ",") << "}";
<< " is sending payload {id:" << payload.GetId()
<< ", type:" << payload.GetType() << "} to endpoint_ids {"
<< absl::StrJoin(endpoint_ids, ",") << "}";
payload_manager_.SendPayload(client, endpoint_ids, std::move(payload));
}
Status OfflineServiceController::CancelPayload(ClientProxy* client,
std::int64_t payload_id) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " cancelled payload " << payload_id;
LOG(INFO) << "Client " << client->GetClientId() << " cancelled payload "
<< payload_id;
return payload_manager_.CancelPayload(client, payload_id);
}
@@ -196,8 +191,7 @@ void OfflineServiceController::DisconnectFromEndpoint(
ClientProxy* client, const std::string& endpoint_id) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " requested a disconnection from endpoint_id "
<< endpoint_id;
<< " requested a disconnection from endpoint_id " << endpoint_id;
endpoint_manager_.UnregisterEndpoint(client, endpoint_id);
}
@@ -205,10 +199,9 @@ Status OfflineServiceController::UpdateAdvertisingOptions(
ClientProxy* client, absl::string_view service_id,
const AdvertisingOptions& advertising_options) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO)
<< "Client " << client->GetClientId()
<< " requested to update advertising options for service_id "
<< service_id;
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to update advertising options for service_id "
<< service_id;
return pcp_manager_.UpdateAdvertisingOptions(client, service_id,
advertising_options);
}
@@ -218,8 +211,8 @@ Status OfflineServiceController::UpdateDiscoveryOptions(
const DiscoveryOptions& discovery_options) {
if (stop_) return {Status::kOutOfOrderApiCall};
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to update discovery options for service_id "
<< service_id;
<< " requested to update discovery options for service_id "
<< service_id;
return pcp_manager_.UpdateDiscoveryOptions(client, service_id,
discovery_options);
}
@@ -228,7 +221,7 @@ void OfflineServiceController::SetCustomSavePath(ClientProxy* client,
const std::string& path) {
if (stop_) return;
LOG(INFO) << "Client " << client->GetClientId()
<< " requested to set custom save path to " << path;
<< " requested to set custom save path to " << path;
payload_manager_.SetCustomSavePath(client, path);
}
@@ -97,7 +97,8 @@ class OfflineServiceControllerTest
config_package_nearby::nearby_connections_feature::kEnableBleV2, true);
NearbyFlags::GetInstance().OverrideBoolFlagValue(
config_package_nearby::nearby_connections_feature::
kEnableSafeToDisconnect, false);
kEnableSafeToDisconnect,
false);
}
bool SetupConnection(OfflineSimulationUser& user_a,
OfflineSimulationUser& user_b) {
@@ -107,13 +108,11 @@ class OfflineServiceControllerTest
EXPECT_EQ(user_b.GetDiscovered().service_id, kServiceId);
EXPECT_EQ(user_b.GetDiscovered().endpoint_info, user_a.GetInfo());
EXPECT_FALSE(user_b.GetDiscovered().endpoint_id.empty());
LOG(INFO) << "EP-B: [discovered] "
<< user_b.GetDiscovered().endpoint_id;
LOG(INFO) << "EP-B: [discovered] " << user_b.GetDiscovered().endpoint_id;
user_b.RequestConnection(&connect_latch_);
EXPECT_TRUE(connect_latch_.Await(kLongTimeout));
EXPECT_FALSE(user_a.GetDiscovered().endpoint_id.empty());
LOG(INFO) << "EP-A: [discovered] "
<< user_a.GetDiscovered().endpoint_id;
LOG(INFO) << "EP-A: [discovered] " << user_a.GetDiscovered().endpoint_id;
LOG(INFO) << "Both users discovered their peers.";
user_a.AcceptConnection(&accept_latch_);
user_b.AcceptConnection(&accept_latch_);
@@ -54,8 +54,7 @@ void OfflineSimulationUser::OnConnectionRejected(const std::string& endpoint_id,
void OfflineSimulationUser::OnEndpointDisconnect(
const std::string& endpoint_id) {
LOG(INFO) << "OnEndpointDisconnect: self=" << this
<< "; id=" << endpoint_id;
LOG(INFO) << "OnEndpointDisconnect: self=" << this << "; id=" << endpoint_id;
if (disconnect_latch_) disconnect_latch_->CountDown();
}
@@ -213,8 +213,7 @@ TEST_F(P2pClusterPcpHandlerTest,
[&latch](const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id;
LOG(INFO) << "Device discovered: id=" << endpoint_id;
latch.CountDown();
},
}),
@@ -268,7 +267,7 @@ class P2pClusterPcpHandlerTestWithParam
}
LOG(INFO) << "SetUp: ble v2 enabled: " << ble_v2_enabled;
LOG(INFO) << "SetUp: is_disable_bluetooth_scanning: "
<< is_disable_bluetooth_scanning;
<< is_disable_bluetooth_scanning;
LOG(INFO) << "SetUp: end";
}
@@ -562,8 +561,7 @@ TEST_P(P2pClusterPcpHandlerTestWithParam, CanDiscover) {
[&latch](const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id;
LOG(INFO) << "Device discovered: id=" << endpoint_id;
latch.CountDown();
},
}),
@@ -602,8 +600,7 @@ TEST_P(P2pClusterPcpHandlerTestWithParam, CanDiscoverLegacy) {
[&latch](const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id;
LOG(INFO) << "Device discovered: id=" << endpoint_id;
latch.CountDown();
},
}),
@@ -687,8 +684,7 @@ TEST_P(P2pClusterPcpHandlerTestWithParam, ResumeBluetoothClassicDiscovery) {
[&latch](const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id;
LOG(INFO) << "Device discovered: id=" << endpoint_id;
latch.CountDown();
},
}),
@@ -765,8 +761,7 @@ TEST_P(P2pClusterPcpHandlerTestWithParam, CanBluetoothDiscoverChangeName) {
[&](const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id;
LOG(INFO) << "Device discovered: id=" << endpoint_id;
if (!first) {
first_found_latch.CountDown();
first = true;
@@ -1011,10 +1006,9 @@ TEST_P(P2pClusterPcpHandlerTestWithParam, CanConnect) {
const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id
<< ", endpoint_info="
<< std::string{endpoint_info};
LOG(INFO) << "Device discovered: id=" << endpoint_id
<< ", endpoint_info="
<< std::string{endpoint_info};
discovered = {
.endpoint_id = endpoint_id,
.endpoint_info = endpoint_info,
@@ -1047,8 +1041,7 @@ TEST_P(P2pClusterPcpHandlerTestWithParam, CanConnect) {
.initiated_cb =
[&connect_latch](const std::string& endpoint_id,
const ConnectionResponseInfo& info) {
LOG(INFO)
<< "RequestConnection: initiated_cb called";
LOG(INFO) << "RequestConnection: initiated_cb called";
connect_latch.CountDown();
},
}},
@@ -21,7 +21,6 @@
#include <tuple>
#include "gtest/gtest.h"
#include "absl/time/time.h"
#include "connections/advertising_options.h"
#include "connections/connection_options.h"
@@ -199,10 +198,9 @@ TEST_P(P2pPointToPointPcpHandlerTest, CanConnect) {
const std::string& endpoint_id,
const ByteArray& endpoint_info,
const std::string& service_id) {
LOG(INFO)
<< "Device discovered: id=" << endpoint_id
<< ", endpoint_info="
<< endpoint_info.AsStringView();
LOG(INFO) << "Device discovered: id=" << endpoint_id
<< ", endpoint_info="
<< endpoint_info.AsStringView();
discovered = {
.endpoint_id = endpoint_id,
.endpoint_info = endpoint_info,
@@ -235,8 +233,7 @@ TEST_P(P2pPointToPointPcpHandlerTest, CanConnect) {
.initiated_cb =
[&connect_latch](const std::string& endpoint_id,
const ConnectionResponseInfo& info) {
LOG(INFO)
<< "RequestConnection: initiated_cb called";
LOG(INFO) << "RequestConnection: initiated_cb called";
connect_latch.CountDown();
},
}},
@@ -41,8 +41,8 @@ namespace connections {
namespace {
using ::location::nearby::connections::OfflineFrame;
using ::location::nearby::connections::PayloadTransferFrame;
using ::nearby::analytics::PacketMetaData;
using ::location::nearby::proto::connections::Medium;
using ::nearby::analytics::PacketMetaData;
constexpr size_t kChunkSize = 64 * 1024;
constexpr absl::string_view kServiceId = "service-id";
@@ -148,13 +148,11 @@ class PayloadManagerTest
EXPECT_EQ(user_b.GetDiscovered().service_id, kServiceId);
EXPECT_EQ(user_b.GetDiscovered().endpoint_info, user_a.GetInfo());
EXPECT_FALSE(user_b.GetDiscovered().endpoint_id.empty());
LOG(INFO) << "EP-B: [discovered] "
<< user_b.GetDiscovered().endpoint_id;
LOG(INFO) << "EP-B: [discovered] " << user_b.GetDiscovered().endpoint_id;
user_b.RequestConnection(&connection_latch_);
EXPECT_TRUE(connection_latch_.Await(kDefaultTimeout).result());
EXPECT_FALSE(user_a.GetDiscovered().endpoint_id.empty());
LOG(INFO) << "EP-A: [discovered] "
<< user_a.GetDiscovered().endpoint_id;
LOG(INFO) << "EP-A: [discovered] " << user_a.GetDiscovered().endpoint_id;
LOG(INFO) << "Both users discovered their peers.";
user_a.AcceptConnection(&accept_latch_);
user_b.AcceptConnection(&accept_latch_);
+1 -1
View File
@@ -216,7 +216,7 @@ bool PcpManager::SetCurrentPcpHandler(Strategy strategy) {
if (!current_) {
LOG(ERROR) << "Failed to set current PCP handler: strategy="
<< strategy.GetName();
<< strategy.GetName();
}
return current_;
@@ -41,9 +41,7 @@ constexpr absl::string_view kDeviceB = "device-b";
constexpr absl::Duration kDefaultTimeout = absl::Milliseconds(1000);
constexpr BooleanMediumSelector kTestCases[] = {
BooleanMediumSelector{
.bluetooth = true
},
BooleanMediumSelector{.bluetooth = true},
};
class ReconnectSimulatorUser : public SimulationUser {
@@ -75,13 +73,11 @@ class ReconnectManagerTest
EXPECT_EQ(user_b.GetDiscovered().service_id, kServiceId);
EXPECT_EQ(user_b.GetDiscovered().endpoint_info, user_a.GetInfo());
EXPECT_FALSE(user_b.GetDiscovered().endpoint_id.empty());
LOG(INFO) << "EP-B: [discovered]"
<< user_b.GetDiscovered().endpoint_id;
LOG(INFO) << "EP-B: [discovered]" << user_b.GetDiscovered().endpoint_id;
user_b.RequestConnection(&connection_latch_);
EXPECT_TRUE(connection_latch_.Await(kDefaultTimeout).result());
EXPECT_FALSE(user_a.GetDiscovered().endpoint_id.empty());
LOG(INFO) << "EP-A: [discovered]"
<< user_a.GetDiscovered().endpoint_id;
LOG(INFO) << "EP-A: [discovered]" << user_a.GetDiscovered().endpoint_id;
LOG(INFO) << "Both users discovered their peers.";
user_a.AcceptConnection(&accept_latch_);
user_b.AcceptConnection(&accept_latch_);
@@ -98,8 +94,8 @@ class ReconnectManagerTest
};
TEST_P(ReconnectManagerTest, AllowReconnect) {
FeatureFlags::Flags feature_flags = {
.enable_cancellation_flag = std::get<1>(GetParam())};
FeatureFlags::Flags feature_flags = {.enable_cancellation_flag =
std::get<1>(GetParam())};
env_.SetFeatureFlags(feature_flags);
env_.Start();
@@ -111,15 +107,14 @@ TEST_P(ReconnectManagerTest, AllowReconnect) {
ReconnectManager::AutoReconnectCallback auto_reconnect_callback = {
.on_reconnect_success_cb =
[&](ClientProxy* client, const std::string& endpoint_id) {
LOG(INFO)
<< " Reconnect successfully for endpoint_id: " << endpoint_id;
LOG(INFO) << " Reconnect successfully for endpoint_id: "
<< endpoint_id;
},
.on_reconnect_failure_cb =
[&](ClientProxy* client, const std::string& endpoint_id,
bool send_disconnection_notification,
DisconnectionReason disconnection_reason) {
LOG(INFO)
<< " Reconnect failed for endpoint_id: " << endpoint_id;
LOG(INFO) << " Reconnect failed for endpoint_id: " << endpoint_id;
},
};
@@ -511,7 +511,7 @@ void ServiceControllerRouter::RequestConnectionV3(
client, remote_device, std::move(old_info), connection_options);
if (!status.Ok()) {
LOG(WARNING) << "Unable to request connection to endpoint "
<< endpoint_id << ": " << status.ToString();
<< endpoint_id << ": " << status.ToString();
client->CancelEndpoint(endpoint_id);
}
callback(status);
@@ -697,8 +697,8 @@ void ServiceControllerRouter::StopAllEndpoints(ClientProxy* client,
"scr-stop-all-endpoints",
[this, client, callback = std::move(callback)]() mutable {
LOG(INFO) << "Client " << client->GetClientId()
<< " has requested us to stop all endpoints. We will "
"now reset the client.";
<< " has requested us to stop all endpoints. We will "
"now reset the client.";
FinishClientSession(client);
callback({Status::kSuccess});
});
@@ -711,8 +711,7 @@ void ServiceControllerRouter::SetCustomSavePath(ClientProxy* client,
"scr-set-custom-save-path", [this, client, path = std::string(path),
callback = std::move(callback)]() mutable {
LOG(INFO) << "Client " << client->GetClientId()
<< " has requested us to set custom save path to "
<< path;
<< " has requested us to set custom save path to " << path;
GetServiceController()->SetCustomSavePath(client, path);
callback({Status::kSuccess});
});
@@ -88,34 +88,31 @@ WebrtcBwuHandler::CreateUpgradedEndpointChannel(
if (web_rtc_credentials.has_location_hint()) {
location_hint = web_rtc_credentials.location_hint();
}
LOG(INFO)
<< "WebRtcBwuHandler is attempting to connect to remote peer "
<< peer_id.GetId() << ", location hint "
<< absl::StrCat(location_hint.location());
LOG(INFO) << "WebRtcBwuHandler is attempting to connect to remote peer "
<< peer_id.GetId() << ", location hint "
<< location_hint.location();
ErrorOr<mediums::WebRtcSocketWrapper> socket_result = webrtc_.Connect(
service_id, peer_id, location_hint,
client->GetCancellationFlag(endpoint_id), client->GetWebRtcNonCellular());
if (socket_result.has_error()) {
LOG(ERROR) << "WebRtcBwuHandler failed to connect to remote peer ("
<< peer_id.GetId() << ") on endpoint " << endpoint_id
<< ", aborting upgrade.";
<< peer_id.GetId() << ") on endpoint " << endpoint_id
<< ", aborting upgrade.";
return {Error(socket_result.error().operation_result_code().value())};
}
LOG(INFO) << "WebRtcBwuHandler successfully connected to remote "
"peer ("
<< peer_id.GetId() << ") while upgrading endpoint "
<< endpoint_id;
"peer ("
<< peer_id.GetId() << ") while upgrading endpoint " << endpoint_id;
// Create a new WebRtcEndpointChannel.
auto channel = std::make_unique<WebRtcEndpointChannel>(
service_id, /*channel_name=*/service_id, socket_result.value());
if (channel == nullptr) {
socket_result.value().Close();
LOG(ERROR)
<< "WebRtcBwuHandler failed to create new EndpointChannel for "
"outgoing socket, aborting upgrade.";
LOG(ERROR) << "WebRtcBwuHandler failed to create new EndpointChannel for "
"outgoing socket, aborting upgrade.";
return {Error(
OperationResultCode::NEARBY_WEB_RTC_ENDPOINT_CHANNEL_CREATION_FAILURE)};
}
@@ -126,9 +123,8 @@ WebrtcBwuHandler::CreateUpgradedEndpointChannel(
void WebrtcBwuHandler::HandleRevertInitiatorStateForService(
const std::string& upgrade_service_id) {
webrtc_.StopAcceptingConnections(upgrade_service_id);
LOG(INFO)
<< "WebrtcBwuHandler successfully reverted state for service "
<< upgrade_service_id;
LOG(INFO) << "WebrtcBwuHandler successfully reverted state for service "
<< upgrade_service_id;
}
// Called by BWU initiator. Set up WebRTC upgraded medium for this endpoint,
@@ -148,15 +144,15 @@ ByteArray WebrtcBwuHandler::HandleInitializeUpgradedMediumForEndpoint(
this, client),
client->GetWebRtcNonCellular())) {
LOG(ERROR) << "WebRtcBwuHandler couldn't initiate the WEB_RTC "
"upgrade for endpoint "
<< endpoint_id
<< " because it failed to start listening for "
"incoming WebRTC connections.";
"upgrade for endpoint "
<< endpoint_id
<< " because it failed to start listening for "
"incoming WebRTC connections.";
return {};
}
LOG(INFO) << "WebRtcBwuHandler successfully started listening for "
"incoming WebRTC connections while upgrading endpoint "
<< endpoint_id;
"incoming WebRTC connections while upgrading endpoint "
<< endpoint_id;
}
return parser::ForBwuWebrtcPathAvailable(self_id.GetId(), location_hint);
@@ -84,8 +84,8 @@ ByteArray WifiDirectBwuHandler::HandleInitializeUpgradedMediumForEndpoint(
int freq = wifi_direct_crendential->GetFrequency();
LOG(INFO) << "Start WifiDirect GO with SSID: " << ssid
<< ", Password: " << password << ", Port: " << port
<< ", Gateway: " << gateway << ", Frequency: " << freq;
<< ", Password: " << password << ", Port: " << port
<< ", Gateway: " << gateway << ", Frequency: " << freq;
bool disabling_encryption =
(client->GetAdvertisingOptions().strategy == Strategy::kP2pPointToPoint);
@@ -100,9 +100,8 @@ void WifiDirectBwuHandler::HandleRevertInitiatorStateForService(
wifi_direct_medium_.StopWifiDirect();
wifi_direct_medium_.DisconnectWifiDirect();
LOG(INFO)
<< "WifiDirectBwuHandler successfully reverted all states for "
<< "upgrade service ID " << upgrade_service_id;
LOG(INFO) << "WifiDirectBwuHandler successfully reverted all states for "
<< "upgrade service ID " << upgrade_service_id;
}
ErrorOr<std::unique_ptr<EndpointChannel>>
@@ -123,8 +122,8 @@ WifiDirectBwuHandler::CreateUpgradedEndpointChannel(
const std::string& gateway = upgrade_path_info_credentials.gateway();
LOG(INFO) << "Received WifiDirect credential SSID: " << ssid
<< ", Password:" << password << ", Port:" << port
<< ", Gateway:" << gateway;
<< ", Password:" << password << ", Port:" << port
<< ", Gateway:" << gateway;
if (!wifi_direct_medium_.ConnectWifiDirect(ssid, password)) {
LOG(ERROR) << "Connect to WifiDiret GO failed";
@@ -147,7 +146,7 @@ WifiDirectBwuHandler::CreateUpgradedEndpointChannel(
// Create a new WifiDirectEndpointChannel.
return {std::make_unique<WifiDirectEndpointChannel>(
service_id, /*channel_name=*/service_id, socket_result.value())};
service_id, /*channel_name=*/service_id, socket_result.value())};
}
void WifiDirectBwuHandler::OnIncomingWifiDirectConnection(
@@ -66,31 +66,29 @@ WifiLanBwuHandler::CreateUpgradedEndpointChannel(
std::int32_t port = upgrade_path_info_socket.wifi_port();
VLOG(1) << "WifiLanBwuHandler is attempting to connect to "
<< "available WifiLan service (" << ip_address << ":" << port
<< ") for endpoint " << endpoint_id;
<< "available WifiLan service (" << ip_address << ":" << port
<< ") for endpoint " << endpoint_id;
ErrorOr<WifiLanSocket> socket_result = wifi_lan_medium_.Connect(
service_id, ip_address, port, client->GetCancellationFlag(endpoint_id));
if (socket_result.has_error()) {
LOG(ERROR)
<< "WifiLanBwuHandler failed to connect to the WifiLan service ("
<< WifiUtils::GetHumanReadableIpAddress(ip_address) << ":" << port
<< ") for endpoint " << endpoint_id;
LOG(ERROR) << "WifiLanBwuHandler failed to connect to the WifiLan service ("
<< WifiUtils::GetHumanReadableIpAddress(ip_address) << ":"
<< port << ") for endpoint " << endpoint_id;
return {Error(socket_result.error().operation_result_code().value())};
}
VLOG(1)
<< "WifiLanBwuHandler successfully connected to WifiLan service ("
<< ip_address << ":" << port << ") while upgrading endpoint "
<< endpoint_id;
VLOG(1) << "WifiLanBwuHandler successfully connected to WifiLan service ("
<< ip_address << ":" << port << ") while upgrading endpoint "
<< endpoint_id;
// Create a new WifiLanEndpointChannel.
auto channel = std::make_unique<WifiLanEndpointChannel>(
service_id, /*channel_name=*/service_id, socket_result.value());
if (channel == nullptr) {
LOG(ERROR) << "WifiLanBwuHandler failed to create WifiLan endpoint "
<< "channel to the WifiLan service (" << ip_address
<< ":" << port << ") for endpoint " << endpoint_id;
<< "channel to the WifiLan service (" << ip_address << ":"
<< port << ") for endpoint " << endpoint_id;
socket_result.value().Close();
return {Error(
OperationResultCode::NEARBY_LAN_ENDPOINT_CHANNEL_CREATION_FAILURE)};
@@ -130,17 +128,16 @@ ByteArray WifiLanBwuHandler::HandleInitializeUpgradedMediumForEndpoint(
auto ip_address = credential.first;
auto port = credential.second;
if (ip_address.empty()) {
LOG(INFO)
<< "WifiLanBwuHandler couldn't initiate the wifi_lan upgrade for "
<< "service " << upgrade_service_id << " and endpoint " << endpoint_id
<< " because the wifi_lan ip address were unable to be obtained.";
LOG(INFO) << "WifiLanBwuHandler couldn't initiate the wifi_lan upgrade for "
<< "service " << upgrade_service_id << " and endpoint "
<< endpoint_id
<< " because the wifi_lan ip address were unable to be obtained.";
return {};
}
LOG(INFO)
<< "WifiLanBwuHandler retrieved WIFI_LAN credentials. IP addr: "
<< ip_address[0] << "." << ip_address[1] << "." << ip_address[2] << "."
<< ip_address[3] << ", Port: " << port;
LOG(INFO) << "WifiLanBwuHandler retrieved WIFI_LAN credentials. IP addr: "
<< ip_address[0] << "." << ip_address[1] << "." << ip_address[2]
<< "." << ip_address[3] << ", Port: " << port;
return parser::ForBwuWifiLanPathAvailable(ip_address, port);
}
@@ -149,7 +146,7 @@ void WifiLanBwuHandler::HandleRevertInitiatorStateForService(
const std::string& upgrade_service_id) {
wifi_lan_medium_.StopAcceptingConnections(upgrade_service_id);
LOG(INFO) << "WifiLanBwuHandler successfully reverted all states for "
<< "upgrade service ID " << upgrade_service_id;
<< "upgrade service ID " << upgrade_service_id;
}
// Accept Connection Callback.
@@ -37,15 +37,14 @@ location::nearby::proto::connections::Medium WifiLanEndpointChannel::GetMedium()
void WifiLanEndpointChannel::CloseImpl() {
auto status = socket_.Close();
if (!status.Ok()) {
LOG(INFO)
<< "Failed to close underlying socket for WifiLanEndpointChannel "
<< GetName() << " : exception = " << status.value;
LOG(INFO) << "Failed to close underlying socket for WifiLanEndpointChannel "
<< GetName() << " : exception = " << status.value;
}
}
bool WifiLanEndpointChannel::EnableMultiplexSocket() {
LOG(INFO) << "WifiLanEndpointChannel MultiplexSocket will be "
"enabled if the WifiLan MultiplexSocket is valid";
"enabled if the WifiLan MultiplexSocket is valid";
socket_.EnableMultiplexSocket();
return true;
}
+56 -65
View File
@@ -39,27 +39,26 @@ void NearbyHttpClient::StartRequest(
const HttpRequest& request,
absl::AnyInvocable<void(const absl::StatusOr<HttpResponse>&)> callback) {
MutexLock lock(&mutex_);
executor_.Execute(
[request = std::move(request), callback = std::move(callback)]() mutable {
LOG(INFO) << __func__ << ": Start async request to url="
<< request.GetUrl().GetUrlPath();
absl::StatusOr<HttpResponse> response = InternalGetResponse(request);
if (response.ok()) {
LOG(INFO)
<< __func__
<< ": Got response from url=" << request.GetUrl().GetUrlPath();
} else {
LOG(ERROR) << __func__ << ": Failed to get response from url="
<< request.GetUrl().GetUrlPath() << ", status"
<< response.status();
}
executor_.Execute([request = std::move(request),
callback = std::move(callback)]() mutable {
LOG(INFO) << __func__ << ": Start async request to url="
<< request.GetUrl().GetUrlPath();
absl::StatusOr<HttpResponse> response = InternalGetResponse(request);
if (response.ok()) {
LOG(INFO) << __func__
<< ": Got response from url=" << request.GetUrl().GetUrlPath();
} else {
LOG(ERROR) << __func__ << ": Failed to get response from url="
<< request.GetUrl().GetUrlPath() << ", status"
<< response.status();
}
if (callback) {
callback(response);
}
LOG(INFO) << __func__ << ": Completed request to url="
<< request.GetUrl().GetUrlPath();
});
if (callback) {
callback(response);
}
LOG(INFO) << __func__
<< ": Completed request to url=" << request.GetUrl().GetUrlPath();
});
}
void NearbyHttpClient::StartCancellableRequest(
@@ -71,63 +70,55 @@ void NearbyHttpClient::StartCancellableRequest(
callback(absl::InvalidArgumentError("invalid cancellable request"));
return;
}
executor_
.Execute(
[cancellable_request = std::move(cancellable_request),
callback = std::move(callback)]() mutable {
LOG(INFO)
<< __func__ << ": Start async request to url="
executor_.Execute([cancellable_request = std::move(cancellable_request),
callback = std::move(callback)]() mutable {
LOG(INFO) << __func__ << ": Start async request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath();
if (cancellable_request->is_cancelled()) {
LOG(WARNING) << __func__ << ": Async request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath()
<< " is cancelled.";
return;
}
absl::StatusOr<HttpResponse> response =
InternalGetResponse(cancellable_request->http_request());
if (response.ok()) {
LOG(INFO) << __func__ << ": Got response from url="
<< cancellable_request->http_request().GetUrl().GetUrlPath();
if (cancellable_request->is_cancelled()) {
LOG(WARNING)
<< __func__ << ": Async request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath()
<< " is cancelled.";
return;
}
absl::StatusOr<HttpResponse> response =
InternalGetResponse(cancellable_request->http_request());
if (response.ok()) {
LOG(INFO)
<< __func__ << ": Got response from url="
<< cancellable_request->http_request().GetUrl().GetUrlPath();
} else {
LOG(ERROR)
<< __func__ << ": Failed to get response from url="
<< cancellable_request->http_request().GetUrl().GetUrlPath()
<< ", status" << response.status();
}
} else {
LOG(ERROR) << __func__ << ": Failed to get response from url="
<< cancellable_request->http_request().GetUrl().GetUrlPath()
<< ", status" << response.status();
}
if (cancellable_request->is_cancelled()) {
LOG(WARNING)
<< __func__ << ": Async request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath()
<< " is cancelled.";
return;
}
if (cancellable_request->is_cancelled()) {
LOG(WARNING) << __func__ << ": Async request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath()
<< " is cancelled.";
return;
}
if (callback) {
callback(response);
}
LOG(INFO)
<< __func__ << ": Completed request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath();
});
if (callback) {
callback(response);
}
LOG(INFO) << __func__ << ": Completed request to url="
<< cancellable_request->http_request().GetUrl().GetUrlPath();
});
}
absl::StatusOr<HttpResponse> NearbyHttpClient::GetResponse(
const HttpRequest& request) {
LOG(INFO) << __func__ << ": Start request to url="
<< request.GetUrl().GetUrlPath();
LOG(INFO) << __func__
<< ": Start request to url=" << request.GetUrl().GetUrlPath();
absl::StatusOr<HttpResponse> response = InternalGetResponse(request);
if (response.ok()) {
LOG(INFO) << __func__ << ": Got response from url="
<< request.GetUrl().GetUrlPath();
LOG(INFO) << __func__
<< ": Got response from url=" << request.GetUrl().GetUrlPath();
} else {
LOG(ERROR) << __func__ << ": Failed to get response from url="
<< request.GetUrl().GetUrlPath() << ", status"
<< response.status();
<< request.GetUrl().GetUrlPath() << ", status"
<< response.status();
}
return response;
+1 -1
View File
@@ -167,7 +167,7 @@ class AwdlServerSocket final {
std::unique_ptr<api::AwdlSocket> socket = impl_->Accept();
if (!socket) {
LOG(INFO) << "AwdlServerSocket Accept() failed on server socket: "
<< this;
<< this;
}
return AwdlSocket(std::move(socket));
}
+8 -10
View File
@@ -70,8 +70,8 @@ bool BleMedium::StartScanning(
auto context = peripherals_.find(&peripheral);
if (context == peripherals_.end()) return;
LOG(INFO) << "Removing peripheral="
<< context->second->peripheral.GetName()
<< ", impl=" << &peripheral;
<< context->second->peripheral.GetName()
<< ", impl=" << &peripheral;
discovered_peripheral_callback_.peripheral_lost_cb(
context->second->peripheral, service_id);
},
@@ -103,11 +103,11 @@ bool BleMedium::StartAcceptingConnections(const std::string& service_id,
auto& context = *pair.first->second;
if (!pair.second) {
LOG(INFO) << "Accepting (again) socket=" << &context.socket
<< ", impl=" << &socket;
<< ", impl=" << &socket;
} else {
context.socket = BleSocket(&socket);
LOG(INFO)
<< "Accepting socket=" << &context.socket << ", impl=" << &socket;
LOG(INFO) << "Accepting socket=" << &context.socket
<< ", impl=" << &socket;
}
if (accepted_connection_callback_) {
accepted_connection_callback_(context.socket, service_id);
@@ -120,8 +120,7 @@ bool BleMedium::StopAcceptingConnections(const std::string& service_id) {
MutexLock lock(&mutex_);
accepted_connection_callback_ = nullptr;
sockets_.clear();
LOG(INFO) << "Ble accepted connection disabled: impl="
<< &GetImpl();
LOG(INFO) << "Ble accepted connection disabled: impl=" << &GetImpl();
}
return impl_->StopAcceptingConnections(service_id);
}
@@ -131,9 +130,8 @@ BleSocket BleMedium::Connect(BlePeripheral& peripheral,
CancellationFlag* cancellation_flag) {
{
MutexLock lock(&mutex_);
LOG(INFO) << "BleMedium::Connect: peripheral="
<< peripheral.GetName()
<< ",impl=" << &peripheral.GetImpl();
LOG(INFO) << "BleMedium::Connect: peripheral=" << peripheral.GetName()
<< ",impl=" << &peripheral.GetImpl();
}
return BleSocket(
impl_->Connect(peripheral.GetImpl(), service_id, cancellation_flag));
+8 -10
View File
@@ -78,10 +78,9 @@ TEST_P(BleMediumTest, CanStartAcceptingConnectionsAndConnect) {
BlePeripheral& peripheral, const std::string& service_id,
const ByteArray& advertisement_bytes,
bool fast_advertisement) {
LOG(INFO)
<< "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
LOG(INFO) << "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
discovered_peripheral = &peripheral;
found_latch.CountDown();
},
@@ -91,7 +90,7 @@ TEST_P(BleMediumTest, CanStartAcceptingConnectionsAndConnect) {
ble_b.StartAcceptingConnections(
service_id, [&](BleSocket socket, const std::string& service_id) {
LOG(INFO) << "Connection accepted: socket=" << &socket
<< ", service_id=" << service_id;
<< ", service_id=" << service_id;
accepted_latch.CountDown();
});
EXPECT_TRUE(found_latch.Await(kWaitDuration).result());
@@ -136,10 +135,9 @@ TEST_P(BleMediumTest, CanCancelConnect) {
BlePeripheral& peripheral, const std::string& service_id,
const ByteArray& advertisement_bytes,
bool fast_advertisement) {
LOG(INFO)
<< "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
LOG(INFO) << "Discovered peripheral=" << peripheral.GetName()
<< ", impl=" << &peripheral.GetImpl()
<< ", fast advertisement=" << fast_advertisement;
discovered_peripheral = &peripheral;
found_latch.CountDown();
},
@@ -149,7 +147,7 @@ TEST_P(BleMediumTest, CanCancelConnect) {
ble_b.StartAcceptingConnections(
service_id, [&](BleSocket socket, const std::string& service_id) {
LOG(INFO) << "Connection accepted: socket=" << &socket
<< ", service_id=" << service_id;
<< ", service_id=" << service_id;
accepted_latch.CountDown();
});
EXPECT_TRUE(found_latch.Await(kWaitDuration).result());
+5 -7
View File
@@ -27,9 +27,9 @@ namespace nearby {
BlockingQueueStream::BlockingQueueStream() {
LOG(INFO) << "Create a BlockingQueueStream with size "
<< FeatureFlags::GetInstance()
.GetFlags()
.blocking_queue_stream_queue_capacity;
<< FeatureFlags::GetInstance()
.GetFlags()
.blocking_queue_stream_queue_capacity;
}
ExceptionOr<ByteArray> BlockingQueueStream::Read(std::int64_t size) {
@@ -39,8 +39,7 @@ ExceptionOr<ByteArray> BlockingQueueStream::Read(std::int64_t size) {
}
if (is_closed_) {
LOG(INFO)
<< "Failed to read BlockingQueueStream because it was closed.";
LOG(INFO) << "Failed to read BlockingQueueStream because it was closed.";
return ExceptionOr<ByteArray>(Exception::kIo);
}
@@ -67,8 +66,7 @@ void BlockingQueueStream::Write(const ByteArray& bytes) {
return;
}
if (is_closed_) {
LOG(INFO)
<< "Failed to write BlockingQueueStream because it was closed.";
LOG(INFO) << "Failed to write BlockingQueueStream because it was closed.";
return;
}
is_writing_ = true;
+1 -2
View File
@@ -600,8 +600,7 @@ TEST_F(BluetoothClassicMediumTest, CancelBluetoothPairing) {
bt_a_->StartDiscovery(
DiscoveryCallback{.device_discovered_cb = [&](BluetoothDevice& device) {
LOG(INFO) << "Device discovered: " << device.GetName();
LOG(INFO) << "Device discovered address: "
<< device.GetMacAddress();
LOG(INFO) << "Device discovered address: " << device.GetMacAddress();
EXPECT_EQ(device.GetName(), adapter_b_->GetName());
discovered_device = &device;
found_latch.CountDown();
+22 -26
View File
@@ -65,8 +65,7 @@ bool BleServerSocket::Connect(BleSocket& socket) {
absl::MutexLock lock(&mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR)
<< "Failed to connect to Ble server socket: already connected";
LOG(ERROR) << "Failed to connect to Ble server socket: already connected";
return true; // already connected.
}
// add client socket to the pending list
@@ -128,7 +127,7 @@ BleMedium::~BleMedium() {
accept_loops_runner_.Shutdown();
LOG(INFO) << "BleMedium dtor advertising_accept_thread_running_ = "
<< acceptance_thread_running_.load();
<< acceptance_thread_running_.load();
// If acceptance thread is still running, wait to finish.
if (acceptance_thread_running_) {
while (acceptance_thread_running_) {
@@ -143,11 +142,11 @@ bool BleMedium::StartAdvertising(
const std::string& service_id, const ByteArray& advertisement_bytes,
const std::string& fast_advertisement_service_uuid) {
LOG(INFO) << "G3 Ble StartAdvertising: service_id=" << service_id
<< ", advertisement bytes="
<< absl::BytesToHexString(std::string(advertisement_bytes))
<< "(" << advertisement_bytes.size() << "),"
<< ", fast advertisement service uuid="
<< absl::BytesToHexString(fast_advertisement_service_uuid);
<< ", advertisement bytes="
<< absl::BytesToHexString(std::string(advertisement_bytes)) << "("
<< advertisement_bytes.size() << "),"
<< ", fast advertisement service uuid="
<< absl::BytesToHexString(fast_advertisement_service_uuid);
auto& env = MediumEnvironment::Instance();
auto& peripheral = adapter_->GetPeripheral();
peripheral.SetAdvertisementBytes(service_id, advertisement_bytes);
@@ -181,7 +180,7 @@ bool BleMedium::StopAdvertising(const std::string& service_id) {
absl::MutexLock lock(&mutex_);
if (advertising_info_.Empty()) {
LOG(INFO) << "G3 Ble StopAdvertising: Can't stop advertising "
"because we never started advertising.";
"because we never started advertising.";
return false;
}
advertising_info_.Clear();
@@ -194,8 +193,8 @@ bool BleMedium::StopAdvertising(const std::string& service_id) {
accept_loops_runner_.Shutdown();
if (server_socket_ == nullptr) {
LOG(ERROR) << "G3 Ble StopAdvertising: Failed to find Ble Server "
"socket: service_id="
<< service_id;
"socket: service_id="
<< service_id;
// Fall through for server socket not found.
return true;
}
@@ -231,7 +230,7 @@ bool BleMedium::StopScanning(const std::string& service_id) {
absl::MutexLock lock(&mutex_);
if (scanning_info_.Empty()) {
LOG(INFO) << "G3 Ble StopDiscovery: Can't stop scanning because "
"we never started scanning.";
"we never started scanning.";
return false;
}
scanning_info_.Clear();
@@ -244,8 +243,7 @@ bool BleMedium::StopScanning(const std::string& service_id) {
bool BleMedium::StartAcceptingConnections(const std::string& service_id,
AcceptedConnectionCallback callback) {
LOG(INFO) << "G3 Ble StartAcceptingConnections: service_id="
<< service_id;
LOG(INFO) << "G3 Ble StartAcceptingConnections: service_id=" << service_id;
auto& env = MediumEnvironment::Instance();
env.UpdateBleMediumForAcceptedConnection(*this, service_id,
std::move(callback));
@@ -253,8 +251,7 @@ bool BleMedium::StartAcceptingConnections(const std::string& service_id,
}
bool BleMedium::StopAcceptingConnections(const std::string& service_id) {
LOG(INFO) << "G3 Ble StopAcceptingConnections: service_id="
<< service_id;
LOG(INFO) << "G3 Ble StopAcceptingConnections: service_id=" << service_id;
auto& env = MediumEnvironment::Instance();
env.UpdateBleMediumForAcceptedConnection(*this, service_id, {});
return true;
@@ -264,9 +261,9 @@ std::unique_ptr<api::BleSocket> BleMedium::Connect(
api::BlePeripheral& remote_peripheral, const std::string& service_id,
CancellationFlag* cancellation_flag) {
LOG(INFO) << "G3 Ble Connect [self]: medium=" << this
<< ", adapter=" << &GetAdapter()
<< ", peripheral=" << &GetAdapter().GetPeripheral()
<< ", service_id=" << service_id;
<< ", adapter=" << &GetAdapter()
<< ", peripheral=" << &GetAdapter().GetPeripheral()
<< ", service_id=" << service_id;
// First, find an instance of remote medium, that exposed this peripheral.
auto& adapter = static_cast<BlePeripheral&>(remote_peripheral).GetAdapter();
auto* medium = static_cast<BleMedium*>(adapter.GetBleMedium());
@@ -275,9 +272,8 @@ std::unique_ptr<api::BleSocket> BleMedium::Connect(
BleServerSocket* remote_server_socket = nullptr;
LOG(INFO) << "G3 Ble Connect [peer]: medium=" << medium
<< ", adapter=" << &adapter
<< ", peripheral=" << &remote_peripheral
<< ", service_id=" << service_id;
<< ", adapter=" << &adapter << ", peripheral=" << &remote_peripheral
<< ", service_id=" << service_id;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&medium->mutex_);
@@ -292,8 +288,8 @@ std::unique_ptr<api::BleSocket> BleMedium::Connect(
if (cancellation_flag->Cancelled()) {
LOG(ERROR) << "G3 BLE Connect: Has been cancelled: "
"service_id="
<< service_id;
"service_id="
<< service_id;
return {};
}
@@ -307,8 +303,8 @@ std::unique_ptr<api::BleSocket> BleMedium::Connect(
// Finally, Request to connect to this socket.
if (!remote_server_socket->Connect(*socket)) {
LOG(ERROR) << "G3 Ble Connect: Failed to connect to existing Ble "
"Server socket: service_id="
<< service_id;
"Server socket: service_id="
<< service_id;
return {};
}
@@ -65,8 +65,7 @@ bool BluetoothServerSocket::Connect(BluetoothSocket& socket) {
absl::MutexLock lock(&mutex_);
if (closed_) return false;
if (socket.IsConnected()) {
LOG(ERROR)
<< "Failed to connect to BT server socket: already connected";
LOG(ERROR) << "Failed to connect to BT server socket: already connected";
return true; // already connected.
}
// add client socket to the pending list
@@ -172,8 +171,8 @@ std::unique_ptr<api::BluetoothSocket> BluetoothClassicMedium::ConnectToService(
api::BluetoothDevice& remote_device, const std::string& service_uuid,
CancellationFlag* cancellation_flag) {
LOG(INFO) << "G3 ConnectToService [self]: medium=" << this
<< ", adapter=" << &GetAdapter()
<< ", device=" << &GetAdapter().GetDevice();
<< ", adapter=" << &GetAdapter()
<< ", device=" << &GetAdapter().GetDevice();
// First, find an instance of remote medium, that exposed this device.
auto& adapter = static_cast<BluetoothDevice&>(remote_device).GetAdapter();
auto* medium =
@@ -183,24 +182,23 @@ std::unique_ptr<api::BluetoothSocket> BluetoothClassicMedium::ConnectToService(
BluetoothServerSocket* server_socket = nullptr;
LOG(INFO) << "G3 ConnectToService [peer]: medium=" << medium
<< ", adapter=" << &adapter << ", device=" << &remote_device
<< ", uuid=" << service_uuid.c_str();
<< ", adapter=" << &adapter << ", device=" << &remote_device
<< ", uuid=" << service_uuid;
// Then, find our server socket context in this medium.
{
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) {
LOG(ERROR) << "Failed to find BT Server socket: uuid="
<< service_uuid;
LOG(ERROR) << "Failed to find BT Server socket: uuid=" << service_uuid;
return {};
}
}
if (cancellation_flag->Cancelled()) {
LOG(ERROR) << "G3 Bluetooth Connect: Has been cancelled: "
"service_uuid="
<< service_uuid;
"service_uuid="
<< service_uuid;
return {};
}
@@ -212,23 +210,20 @@ std::unique_ptr<api::BluetoothSocket> BluetoothClassicMedium::ConnectToService(
auto socket = std::make_unique<BluetoothSocket>(&GetAdapter());
// Finally, Request to connect to this socket.
if (!server_socket->Connect(*socket)) {
LOG(ERROR)
<< "Failed to connect to existing BT Server socket: uuid="
<< service_uuid;
LOG(ERROR) << "Failed to connect to existing BT Server socket: uuid="
<< service_uuid;
return {};
}
if (cancellation_flag->Cancelled()) {
LOG(ERROR)
<< "G3 Bluetooth Connect: Has been cancelled after connected: "
"service_uuid="
<< service_uuid;
LOG(ERROR) << "G3 Bluetooth Connect: Has been cancelled after connected: "
"service_uuid="
<< service_uuid;
socket->Close();
return {};
}
LOG(INFO) << "G3 ConnectToService: connected: socket="
<< socket.get();
LOG(INFO) << "G3 ConnectToService: connected: socket=" << socket.get();
return socket;
}
@@ -240,8 +235,7 @@ BluetoothClassicMedium::ListenForService(const std::string& service_name,
absl::MutexLock lock(&mutex_);
sockets_.erase(uuid);
});
LOG(INFO) << "Adding service: medium=" << this
<< ", uuid=" << service_uuid;
LOG(INFO) << "Adding service: medium=" << this << ", uuid=" << service_uuid;
absl::MutexLock lock(&mutex_);
sockets_.emplace(service_uuid, socket.get());
return socket;
@@ -64,24 +64,20 @@ void CredentialStorageImpl::SaveCredentials(
}
if (private_credentials.empty()) {
LOG(INFO) << "There are no Private Credentials for account: ["
<< account_name << "], manager app ID:[" << manager_app_id
<< "]";
<< account_name << "], manager app ID:[" << manager_app_id << "]";
} else {
LOG(INFO) << "G3 Save Private Credentials for account: ["
<< account_name << "], manager app ID:[" << manager_app_id
<< "]";
LOG(INFO) << "G3 Save Private Credentials for account: [" << account_name
<< "], manager app ID:[" << manager_app_id << "]";
SaveLocalCredentialsLocked(manager_app_id, account_name,
private_credentials);
}
if (public_credentials.empty()) {
LOG(INFO) << "There are no Public Credentials for account: ["
<< account_name << "], manager app ID:[" << manager_app_id
<< "]";
<< account_name << "], manager app ID:[" << manager_app_id << "]";
} else {
LOG(INFO) << "G3 Save Public Credentials for account: ["
<< account_name << "], manager app ID:[" << manager_app_id
<< "]";
LOG(INFO) << "G3 Save Public Credentials for account: [" << account_name
<< "], manager app ID:[" << manager_app_id << "]";
PublicCredentialKey key = CreatePublicCredentialKey(
manager_app_id, account_name, public_credential_type);
auto public_result =
@@ -111,9 +107,8 @@ void CredentialStorageImpl::SaveLocalCredentialsLocked(
void CredentialStorageImpl::UpdateLocalCredential(
absl::string_view manager_app_id, absl::string_view account_name,
LocalCredential credential, SaveCredentialsResultCallback callback) {
LOG(INFO) << "G3 Update Private Credential for for account: ["
<< account_name << "], manager app ID:[" << manager_app_id
<< "]";
LOG(INFO) << "G3 Update Private Credential for for account: [" << account_name
<< "], manager app ID:[" << manager_app_id << "]";
absl::StatusOr<std::vector<LocalCredential>> credentials =
GetLocalCredentialsLocked(CredentialSelector{
.manager_app_id = std::string(manager_app_id),
@@ -150,7 +145,7 @@ CredentialStorageImpl::GetLocalCredentialsLocked(
credential_selector.manager_app_id, credential_selector.account_name);
if (private_credentials_map_.find(key) == private_credentials_map_.end()) {
LOG(WARNING) << "There are no Private Credentials stored for key:"
<< std::get<0>(key) << ", " << std::get<1>(key);
<< std::get<0>(key) << ", " << std::get<1>(key);
return absl::NotFoundError(
absl::StrFormat("No private credentials for %v", credential_selector));
}
@@ -174,8 +169,8 @@ void CredentialStorageImpl::GetPublicCredentials(
public_credential_type);
if (public_credentials_map_.find(key) == public_credentials_map_.end()) {
LOG(WARNING) << "There are no Public Credentials stored for key:"
<< std::get<0>(key) << ", " << std::get<1>(key) << ", "
<< std::get<2>(key);
<< std::get<0>(key) << ", " << std::get<1>(key) << ", "
<< std::get<2>(key);
std::move(callback.credentials_fetched_cb)(absl::NotFoundError(
absl::StrFormat("No public credentials for %v", credential_selector)));
return;
@@ -131,7 +131,7 @@ bool WifiDirectMedium::StartWifiDirect(
wifi_direct_credentials->SetPassword(password);
LOG(INFO) << "G3 StartWifiDirect GO: ssid=" << ssid
<< ", password:" << password;
<< ", password:" << password;
auto& env = MediumEnvironment::Instance();
env.UpdateWifiDirectMediumForStartOrConnect(*this, wifi_direct_credentials,
@@ -156,8 +156,8 @@ bool WifiDirectMedium::ConnectWifiDirect(
absl::MutexLock lock(&mutex_);
LOG(INFO) << "G3 ConnectWifiDirect : ssid="
<< wifi_direct_credentials->GetSSID()
<< ", password:" << wifi_direct_credentials->GetPassword();
<< wifi_direct_credentials->GetSSID()
<< ", password:" << wifi_direct_credentials->GetPassword();
auto& env = MediumEnvironment::Instance();
auto* remote_medium = static_cast<WifiDirectMedium*>(
@@ -192,7 +192,7 @@ std::unique_ptr<api::WifiDirectSocket> WifiDirectMedium::ConnectToService(
CancellationFlag* cancellation_flag) {
std::string socket_name = WifiDirectServerSocket::GetName(ip_address, port);
LOG(INFO) << "G3 WifiDirect ConnectToService [self]: medium=" << this
<< ", ip address + port=" << socket_name;
<< ", ip address + port=" << socket_name;
// First, find an instance of remote medium, that exposed this service.
auto& env = MediumEnvironment::Instance();
auto* remote_medium =
@@ -202,9 +202,8 @@ std::unique_ptr<api::WifiDirectSocket> WifiDirectMedium::ConnectToService(
}
WifiDirectServerSocket* server_socket = nullptr;
LOG(INFO) << "G3 WifiDirect ConnectToService [peer]: medium="
<< remote_medium
<< ", remote ip address + port=" << socket_name;
LOG(INFO) << "G3 WifiDirect ConnectToService [peer]: medium=" << remote_medium
<< ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
@@ -213,16 +212,15 @@ std::unique_ptr<api::WifiDirectSocket> WifiDirectMedium::ConnectToService(
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
if (server_socket == nullptr) {
LOG(ERROR) << "G3 WifiDirect Failed to find WifiDirect Server "
"socket: socket_name="
<< socket_name;
"socket: socket_name="
<< socket_name;
return nullptr;
}
}
if (cancellation_flag->Cancelled()) {
LOG(ERROR)
<< "G3 WifiDirect Connect: Has been cancelled: socket_name="
<< socket_name;
LOG(ERROR) << "G3 WifiDirect Connect: Has been cancelled: socket_name="
<< socket_name;
return nullptr;
}
@@ -231,7 +229,7 @@ std::unique_ptr<api::WifiDirectSocket> WifiDirectMedium::ConnectToService(
server_socket->Connect(*socket);
LOG(INFO) << "G3 WifiDirect GC ConnectToService: connected: socket="
<< socket.get();
<< socket.get();
return socket;
}
@@ -257,7 +255,7 @@ std::unique_ptr<api::WifiDirectServerSocket> WifiDirectMedium::ListenForService(
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 WifiDirect GO Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
@@ -134,7 +134,7 @@ bool WifiHotspotMedium::StartWifiHotspot(
hotspot_credentials->SetPassword(password);
LOG(INFO) << "G3 StartWifiHotspot: ssid=" << ssid
<< ", password:" << password;
<< ", password:" << password;
auto& env = MediumEnvironment::Instance();
env.UpdateWifiHotspotMediumForStartOrConnect(*this, hotspot_credentials,
@@ -161,9 +161,8 @@ bool WifiHotspotMedium::ConnectWifiHotspot(
HotspotCredentials* hotspot_credentials) {
absl::MutexLock lock(&mutex_);
LOG(INFO) << "G3 ConnectWifiHotspot: ssid="
<< hotspot_credentials->GetSSID()
<< ", password:" << hotspot_credentials->GetPassword();
LOG(INFO) << "G3 ConnectWifiHotspot: ssid=" << hotspot_credentials->GetSSID()
<< ", password:" << hotspot_credentials->GetPassword();
auto& env = MediumEnvironment::Instance();
auto* remote_medium = static_cast<WifiHotspotMedium*>(
@@ -198,7 +197,7 @@ std::unique_ptr<api::WifiHotspotSocket> WifiHotspotMedium::ConnectToService(
CancellationFlag* cancellation_flag) {
std::string socket_name = WifiHotspotServerSocket::GetName(ip_address, port);
LOG(INFO) << "G3 WifiHotspot ConnectToService [self]: medium=" << this
<< ", ip address + port=" << socket_name;
<< ", ip address + port=" << socket_name;
// First, find an instance of remote medium, that exposed this service.
auto& env = MediumEnvironment::Instance();
auto* remote_medium =
@@ -209,8 +208,7 @@ std::unique_ptr<api::WifiHotspotSocket> WifiHotspotMedium::ConnectToService(
WifiHotspotServerSocket* server_socket = nullptr;
LOG(INFO) << "G3 WifiHotspot ConnectToService [peer]: medium="
<< remote_medium
<< ", remote ip address + port=" << socket_name;
<< remote_medium << ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
@@ -219,16 +217,15 @@ std::unique_ptr<api::WifiHotspotSocket> WifiHotspotMedium::ConnectToService(
item != remote_medium->server_sockets_.end() ? item->second : nullptr;
if (server_socket == nullptr) {
LOG(ERROR) << "G3 WifiHotspot Failed to find WifiHotspot Server "
"socket: socket_name="
<< socket_name;
"socket: socket_name="
<< socket_name;
return {};
}
}
if (cancellation_flag->Cancelled()) {
LOG(ERROR)
<< "G3 WifiHotspot Connect: Has been cancelled: socket_name="
<< socket_name;
LOG(ERROR) << "G3 WifiHotspot Connect: Has been cancelled: socket_name="
<< socket_name;
return {};
}
@@ -242,14 +239,13 @@ std::unique_ptr<api::WifiHotspotSocket> WifiHotspotMedium::ConnectToService(
auto socket = std::make_unique<WifiHotspotSocket>();
// Finally, Request to connect to this socket.
if (!server_socket->Connect(*socket)) {
LOG(ERROR)
<< "G3 WifiHotspot Failed to connect to existing WifiHotspot "
"Server socket: name="
<< socket_name;
LOG(ERROR) << "G3 WifiHotspot Failed to connect to existing WifiHotspot "
"Server socket: name="
<< socket_name;
return {};
}
LOG(INFO) << "G3 WifiHotspot ConnectToService: connected: socket="
<< socket.get();
<< socket.get();
return socket;
}
@@ -276,7 +272,7 @@ WifiHotspotMedium::ListenForService(int port) {
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 WifiHotspot Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
+23 -28
View File
@@ -130,9 +130,9 @@ WifiLanMedium::~WifiLanMedium() {
bool WifiLanMedium::StartAdvertising(const NsdServiceInfo& nsd_service_info) {
std::string service_type = nsd_service_info.GetServiceType();
LOG(INFO) << "G3 WifiLan StartAdvertising: nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
if (advertising_info_.Existed(service_type)) {
@@ -156,16 +156,15 @@ bool WifiLanMedium::StartAdvertising(const NsdServiceInfo& nsd_service_info) {
bool WifiLanMedium::StopAdvertising(const NsdServiceInfo& nsd_service_info) {
std::string service_type = nsd_service_info.GetServiceType();
LOG(INFO) << "G3 WifiLan StopAdvertising: nsd_service_info="
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
<< &nsd_service_info
<< ", service_name=" << nsd_service_info.GetServiceName()
<< ", service_type=" << service_type;
{
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="
<< service_type;
LOG(INFO) << "G3 WifiLan StopAdvertising: Can't stop advertising because "
"we never started advertising for service_type="
<< service_type;
return false;
}
advertising_info_.Remove(service_type);
@@ -178,15 +177,13 @@ bool WifiLanMedium::StopAdvertising(const NsdServiceInfo& nsd_service_info) {
bool WifiLanMedium::StartDiscovery(const std::string& service_type,
DiscoveredServiceCallback callback) {
LOG(INFO) << "G3 WifiLan StartDiscovery: service_type="
<< service_type;
LOG(INFO) << "G3 WifiLan StartDiscovery: service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
if (discovering_info_.Existed(service_type)) {
LOG(INFO)
<< "G3 WifiLan StartDiscovery: Can't start discovery because "
"service_type="
<< service_type << " has started already.";
LOG(INFO) << "G3 WifiLan StartDiscovery: Can't start discovery because "
"service_type="
<< service_type << " has started already.";
return false;
}
}
@@ -201,8 +198,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;
LOG(INFO) << "G3 WifiLan StopDiscovery: service_type=" << service_type;
{
absl::MutexLock lock(&mutex_);
if (!discovering_info_.Existed(service_type)) {
@@ -223,7 +219,7 @@ std::unique_ptr<api::WifiLanSocket> WifiLanMedium::ConnectToService(
CancellationFlag* cancellation_flag) {
std::string service_type = remote_service_info.GetServiceType();
LOG(INFO) << "G3 WifiLan ConnectToService [self]: medium=" << this
<< ", service_type=" << service_type;
<< ", service_type=" << service_type;
return ConnectToService(remote_service_info.GetIPAddress(),
remote_service_info.GetPort(), cancellation_flag);
}
@@ -233,7 +229,7 @@ std::unique_ptr<api::WifiLanSocket> WifiLanMedium::ConnectToService(
CancellationFlag* cancellation_flag) {
std::string socket_name = WifiLanServerSocket::GetName(ip_address, port);
LOG(INFO) << "G3 WifiLan ConnectToService [self]: medium=" << this
<< ", ip address + port=" << socket_name;
<< ", ip address + port=" << socket_name;
// First, find an instance of remote medium, that exposed this service.
auto& env = MediumEnvironment::Instance();
auto* remote_medium =
@@ -243,9 +239,8 @@ std::unique_ptr<api::WifiLanSocket> WifiLanMedium::ConnectToService(
}
WifiLanServerSocket* server_socket = nullptr;
LOG(INFO) << "G3 WifiLan ConnectToService [peer]: medium="
<< remote_medium
<< ", remote ip address + port=" << socket_name;
LOG(INFO) << "G3 WifiLan ConnectToService [peer]: medium=" << remote_medium
<< ", remote ip address + port=" << socket_name;
// Then, find our server socket context in this medium.
{
absl::MutexLock medium_lock(&remote_medium->mutex_);
@@ -262,7 +257,7 @@ std::unique_ptr<api::WifiLanSocket> WifiLanMedium::ConnectToService(
if (cancellation_flag->Cancelled()) {
LOG(ERROR) << "G3 WifiLan Connect: Has been cancelled: socket_name="
<< socket_name;
<< socket_name;
return {};
}
@@ -277,12 +272,12 @@ std::unique_ptr<api::WifiLanSocket> WifiLanMedium::ConnectToService(
// Finally, Request to connect to this socket.
if (!server_socket->Connect(*socket)) {
LOG(ERROR) << "G3 WifiLan Failed to connect to existing WifiLan "
"Server socket: name="
<< socket_name;
"Server socket: name="
<< socket_name;
return {};
}
LOG(INFO) << "G3 WifiLan ConnectToService: connected: socket="
<< socket.get();
<< socket.get();
return socket;
}
@@ -299,7 +294,7 @@ std::unique_ptr<api::WifiLanServerSocket> WifiLanMedium::ListenForService(
server_sockets_.erase(socket_name);
});
LOG(INFO) << "G3 WifiLan Adding server socket: medium=" << this
<< ", socket_name=" << socket_name;
<< ", socket_name=" << socket_name;
absl::MutexLock lock(&mutex_);
server_sockets_.insert({socket_name, server_socket.get()});
return server_socket;
@@ -123,7 +123,7 @@ bool WifiLanMdns::StartMdnsService(
if (status != DNS_REQUEST_PENDING) {
LOG(ERROR) << "Failed to start mDNS advertising for service type ="
<< service_type;
<< service_type;
return false;
}
+1 -2
View File
@@ -1302,8 +1302,7 @@ void MediumEnvironment::UnregisterGattServer(api::ble_v2::BleMedium& medium) {
}
auto& context = it->second;
LOG(INFO) << "Unregistered GattServer for peripheral id:"
<< context.ble_peripheral_id
<< " on medium:" << &medium;
<< context.ble_peripheral_id << " on medium:" << &medium;
context.gatt_server = nullptr;
context.ble_peripheral_id = 0LL;
latch.CountDown();
+6 -4
View File
@@ -14,6 +14,8 @@
#include "internal/platform/pending_job_registry.h"
#include "absl/time/time.h"
#include "internal/platform/implementation/system_clock.h"
#include "internal/platform/logging.h"
#include "internal/platform/mutex_lock.h"
#include "internal/platform/system_clock.h"
@@ -68,14 +70,14 @@ void PendingJobRegistry::ListJobs() {
auto age = current_time - job.second;
if (age >= kReportPendingJobsOlderThan) {
LOG(INFO) << "Task \"" << job.first << "\" is waiting for "
<< absl::ToInt64Seconds(age) << " s";
<< absl::ToInt64Seconds(age) << " s";
}
}
for (auto& job : running_jobs_) {
auto age = current_time - job.second;
if (age >= kReportRunningJobsOlderThan) {
LOG(INFO) << "Task \"" << job.first << "\" is running for "
<< absl::ToInt64Seconds(age) << " s";
<< absl::ToInt64Seconds(age) << " s";
}
}
list_jobs_time_ = current_time;
@@ -87,12 +89,12 @@ void PendingJobRegistry::ListAllJobs() {
for (auto& job : pending_jobs_) {
auto age = current_time - job.second;
LOG(INFO) << "Task \"" << job.first << "\" is waiting for "
<< absl::ToInt64Seconds(age) << " s";
<< absl::ToInt64Seconds(age) << " s";
}
for (auto& job : running_jobs_) {
auto age = current_time - job.second;
LOG(INFO) << "Task \"" << job.first << "\" is running for "
<< absl::ToInt64Seconds(age) << " s";
<< absl::ToInt64Seconds(age) << " s";
}
list_jobs_time_ = current_time;
}
+1 -3
View File
@@ -66,9 +66,7 @@ class MediumSocket : public Socket {
virtual void FeedIncomingData(ByteArray data) {}
/** Returns true if the socket is a virtual socket. */
virtual bool IsVirtualSocket() {
return false;
}
virtual bool IsVirtualSocket() { return false; }
/** Adds a listener to be invoked when the socket is closed. */
void AddOnSocketClosedListener(
+3 -3
View File
@@ -14,17 +14,17 @@
#include "internal/platform/wifi_direct.h"
#include "internal/platform/logging.h"
#include "absl/strings/string_view.h"
#include "internal/platform/cancellation_flag.h"
#include "internal/platform/logging.h"
namespace nearby {
WifiDirectSocket WifiDirectMedium::ConnectToService(
absl::string_view ip_address, int port,
CancellationFlag* cancellation_flag) {
LOG(INFO) << "WifiDirectMedium::ConnectToService: ip address="
<< ip_address << ", port=" << port;
LOG(INFO) << "WifiDirectMedium::ConnectToService: ip address=" << ip_address
<< ", port=" << port;
return WifiDirectSocket(
impl_->ConnectToService(ip_address, port, cancellation_flag));
}
+1 -2
View File
@@ -122,8 +122,7 @@ class WifiDirectServerSocket final {
WifiDirectSocket Accept() {
std::unique_ptr<api::WifiDirectSocket> socket = impl_->Accept();
if (!socket) {
LOG(INFO)
<< "WifiDirectServerSocket Accept() failed on server socket: ";
LOG(INFO) << "WifiDirectServerSocket Accept() failed on server socket: ";
}
return WifiDirectSocket(std::move(socket));
}
+25 -32
View File
@@ -20,12 +20,12 @@
#include "absl/container/flat_hash_map.h"
#include "internal/platform/cancellation_flag.h"
#include "internal/platform/implementation/wifi_utils.h"
#include "internal/platform/logging.h"
#include "internal/platform/mutex_lock.h"
#include "internal/platform/nsd_service_info.h"
#include "internal/platform/output_stream.h"
#include "internal/platform/socket.h"
#include "internal/platform/implementation/wifi_utils.h"
namespace nearby {
using location::nearby::proto::connections::Medium;
@@ -44,15 +44,14 @@ MediumSocket* WifiLanSocket::CreateVirtualSocket(
auto virtual_socket = std::make_shared<WifiLanSocket>(outputstream);
virtual_socket->impl_ = this->impl_;
LOG(WARNING) << "Created the virtual socket for Medium: "
<< Medium_Name(virtual_socket->GetMedium());
<< Medium_Name(virtual_socket->GetMedium());
if (virtual_sockets_ptr_ == nullptr) {
virtual_sockets_ptr_ = virtual_sockets_ptr;
}
(*virtual_sockets_ptr_)[salted_service_id_hash_key] = virtual_socket;
LOG(INFO) << "virtual_sockets_ size: "
<< virtual_sockets_ptr_->size();
LOG(INFO) << "virtual_sockets_ size: " << virtual_sockets_ptr_->size();
return virtual_socket.get();
}
@@ -71,7 +70,7 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_id,
MutexLock lock(&mutex_);
if (service_type_to_callback_map_.contains(service_type)) {
LOG(INFO) << "WifiLan Discovery already start with service_type="
<< service_type << "; impl=" << &GetImpl();
<< service_type << "; impl=" << &GetImpl();
return false;
}
}
@@ -84,35 +83,31 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_id,
const auto& it = service_type_to_callback_map_.find(service_type);
if (it == service_type_to_callback_map_.end()) {
LOG(ERROR)
<< "There is no callback found for service_type="
<< service_type;
LOG(ERROR) << "There is no callback found for service_type="
<< service_type;
return;
}
// Check whether service name is in cache.
auto services_it = service_type_to_services_map_.find(service_type);
if (services_it == service_type_to_services_map_.end()) {
LOG(ERROR)
<< "There is no service map found for service_type="
<< service_type;
LOG(ERROR) << "There is no service map found for service_type="
<< service_type;
return;
}
std::string service_name = service_info.GetServiceName();
auto pair = services_it->second.insert(service_name);
if (!pair.second) {
LOG(INFO)
<< "Discovering (again) service_info=" << &service_info
<< ", service_type=" << service_type
<< ", service_name=" << service_info.GetServiceName();
LOG(INFO) << "Discovering (again) service_info=" << &service_info
<< ", service_type=" << service_type
<< ", service_name=" << service_info.GetServiceName();
return;
}
LOG(INFO)
<< "Adding service_info=" << &service_info
<< ", service_type=" << service_type
<< ", service_name=" << service_info.GetServiceName();
LOG(INFO) << "Adding service_info=" << &service_info
<< ", service_type=" << service_type
<< ", service_name=" << service_info.GetServiceName();
std::string service_id = it->second->service_id;
DiscoveredServiceCallback& medium_callback =
@@ -126,17 +121,16 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_id,
std::string service_name = service_info.GetServiceName();
auto services_it = service_type_to_services_map_.find(service_type);
if (services_it == service_type_to_services_map_.end()) {
LOG(ERROR)
<< "There is no service map found for service_type="
<< service_type;
LOG(ERROR) << "There is no service map found for service_type="
<< service_type;
return;
}
auto item = services_it->second.extract(service_name);
if (item.empty()) return;
LOG(INFO) << "Removing service_info=" << &service_info
<< ", service_type=" << service_type
<< ", service_info_name=" << service_name;
<< ", service_type=" << service_type
<< ", service_info_name=" << service_name;
// Callback service lost.
const auto& it = service_type_to_callback_map_.find(service_type);
if (it != service_type_to_callback_map_.end()) {
@@ -169,9 +163,8 @@ bool WifiLanMedium::StartDiscovery(const std::string& service_id,
service_type_to_callback_map_.erase(service_type);
service_type_to_services_map_.erase(service_type);
}
LOG(INFO) << "WifiLan Discovery started for service_type="
<< service_type << ", impl=" << &GetImpl()
<< ", success=" << success;
LOG(INFO) << "WifiLan Discovery started for service_type=" << service_type
<< ", impl=" << &GetImpl() << ", success=" << success;
return success;
}
@@ -184,8 +177,8 @@ bool WifiLanMedium::StopDiscovery(const std::string& service_type) {
if (service_type_to_services_map_.contains(service_type)) {
service_type_to_services_map_.erase(service_type);
}
LOG(INFO) << "WifiLan Discovery disabled for service_type="
<< service_type << ", impl=" << &GetImpl();
LOG(INFO) << "WifiLan Discovery disabled for service_type=" << service_type
<< ", impl=" << &GetImpl();
return impl_->StopDiscovery(service_type);
}
@@ -193,7 +186,7 @@ WifiLanSocket WifiLanMedium::ConnectToService(
const NsdServiceInfo& remote_service_info,
CancellationFlag* cancellation_flag) {
LOG(INFO) << "WifiLanMedium::ConnectToService: remote_service_name="
<< remote_service_info.GetServiceName();
<< remote_service_info.GetServiceName();
return WifiLanSocket(
impl_->ConnectToService(remote_service_info, cancellation_flag));
}
@@ -202,8 +195,8 @@ WifiLanSocket WifiLanMedium::ConnectToService(
const std::string& ip_address, int port,
CancellationFlag* cancellation_flag) {
LOG(INFO) << "WifiLanMedium::ConnectToService: ip address="
<< WifiUtils::GetHumanReadableIpAddress(ip_address)
<< ", port=" << port;
<< WifiUtils::GetHumanReadableIpAddress(ip_address)
<< ", port=" << port;
return WifiLanSocket(
impl_->ConnectToService(ip_address, port, cancellation_flag));
}
+2 -2
View File
@@ -164,8 +164,8 @@ class WifiLanServerSocket final {
WifiLanSocket Accept() {
std::unique_ptr<api::WifiLanSocket> socket = impl_->Accept();
if (!socket) {
LOG(INFO)
<< "WifiLanServerSocket Accept() failed on server socket: " << this;
LOG(INFO) << "WifiLanServerSocket Accept() failed on server socket: "
<< this;
}
return WifiLanSocket(std::move(socket));
}
+1 -3
View File
@@ -94,9 +94,7 @@ class FakeSocket : public BaseSocket {
explicit FakeSocket(const Connection& connection,
SocketCallback&& socketCallback)
: BaseSocket(connection, std::move(socketCallback)) {}
~FakeSocket() override {
ShutDown();
}
~FakeSocket() override { ShutDown(); }
MOCK_METHOD(void, Connect, (), (override));
void OnReceiveControlPacket(Packet packet) override {
control_packets_.push_back(std::move(packet));
+1 -2
View File
@@ -349,8 +349,7 @@ TEST_F(ClientSocketTest, TestSocketWithRandomDataProvider) {
MutexLock lock(&mutex_);
messages_read_.push_back(message);
},
.on_error_cb =
[](absl::Status status) { LOG(ERROR) << status; },
.on_error_cb = [](absl::Status status) { LOG(ERROR) << status; },
},
std::move(provider));
socket.Connect();
+8 -9
View File
@@ -87,9 +87,9 @@ void ServerSocket::OnReceiveControlPacket(Packet packet) {
// after the initial handshake.
if (state_ != State::kClientConnectionRequest) {
LOG(ERROR) << "Not in 'Connection Request' state, but "
"incorrectly received control packet of type "
<< Packet::ControlPacketTypeToString(
packet.GetControlCommandNumber());
"incorrectly received control packet of type "
<< Packet::ControlPacketTypeToString(
packet.GetControlCommandNumber());
GetSocketCallback().on_error_cb(
absl::InvalidArgumentError("Unexpected control packet"));
return;
@@ -97,9 +97,9 @@ void ServerSocket::OnReceiveControlPacket(Packet packet) {
if (packet.GetControlCommandNumber() !=
Packet::ControlPacketType::kControlConnectionRequest) {
LOG(ERROR) << "Expected connection request control packet, "
"received control packet of type "
<< Packet::ControlPacketTypeToString(
packet.GetControlCommandNumber());
"received control packet of type "
<< Packet::ControlPacketTypeToString(
packet.GetControlCommandNumber());
DisconnectInternal(
absl::InvalidArgumentError("Unexpected control packet type."));
return;
@@ -117,8 +117,7 @@ void ServerSocket::OnReceiveControlPacket(Packet packet) {
if (min_protocol_version > kProtocolVersion ||
max_protocol_version < kProtocolVersion) {
LOG(ERROR) << "Received unexpected min/max protocol versions: "
<< min_protocol_version << " and "
<< max_protocol_version;
<< min_protocol_version << " and " << max_protocol_version;
DisconnectInternal(
absl::InvalidArgumentError("unexpected protocol versions"));
return;
@@ -145,7 +144,7 @@ void ServerSocket::WriteConnectionConfirm() {
kProtocolVersion, max_packet_size_, "");
if (!packet.ok()) {
LOG(ERROR) << "Failed to create connection confirm packet: "
<< packet.status();
<< packet.status();
DisconnectInternal(packet.status());
return;
}
+3 -4
View File
@@ -90,7 +90,7 @@ absl::Status FppManager::UpdateBleScanResult(uint64_t device_id,
presence_detector_handle_, ble_scan_result, &new_proximity_estimate);
if (status_code == kNoComputedProximityEstimate) {
LOG(INFO) << "Insufficient number of scan results available to "
"compute proximity state";
"compute proximity state";
return absl::OkStatus();
}
if (status_code == kSuccess) {
@@ -142,9 +142,8 @@ void FppManager::CheckPresenceZoneChanged(uint64_t device_id,
ProximityEstimate old_estimate,
ProximityEstimate new_estimate) {
if (old_estimate.proximity_state != new_estimate.proximity_state) {
LOG(WARNING)
<< "Updating zone transition callbacks with new zone. Zone="
<< static_cast<int>(new_estimate.proximity_state);
LOG(WARNING) << "Updating zone transition callbacks with new zone. Zone="
<< static_cast<int>(new_estimate.proximity_state);
for (auto& pair : zone_transition_callbacks_) {
pair.second.on_proximity_zone_changed(
device_id,
+1 -1
View File
@@ -67,7 +67,7 @@ int GetMask(const DataElement& element) {
}
}
LOG(WARNING) << "Data Element " << type
<< " not supported in base advertisement";
<< " not supported in base advertisement";
return kEmptyMask;
}
@@ -147,8 +147,8 @@ absl::StatusOr<DataElement> ParseDataElement(const absl::string_view input,
absl::BytesToHexString(input), input.size(), index));
}
VLOG(1) << "Type: " << static_cast<int>(data_type)
<< " length: " << static_cast<int>(length) << " DE: "
<< absl::BytesToHexString(input.substr(start, length));
<< " length: " << static_cast<int>(length)
<< " DE: " << absl::BytesToHexString(input.substr(start, length));
return DataElement(data_type, input.substr(start, length));
}
} // namespace
@@ -157,9 +157,9 @@ void DecodeBaseAction(absl::string_view serialized_action,
Advertisement& decoded_advertisement) {
if (serialized_action.empty() || serialized_action.size() > 3) {
LOG(WARNING) << "Base NP action \'"
<< absl::BytesToHexString(serialized_action)
<< "\' has wrong length " << serialized_action.size()
<< " , expected size in range [1 - 3]";
<< absl::BytesToHexString(serialized_action)
<< "\' has wrong length " << serialized_action.size()
<< " , expected size in range [1 - 3]";
return;
}
// Action, 0-2 bytes in Big Endian order.
@@ -213,7 +213,7 @@ absl::Status DecryptDataElements(
DecryptLdt(credentials, salt, encrypted, decoded_advertisement);
if (!decrypted.ok()) {
LOG(WARNING) << "Failed to decrypt advertisement, status: "
<< decrypted.status();
<< decrypted.status();
return decrypted.status();
}
size_t index = 0;
@@ -222,7 +222,7 @@ absl::Status DecryptDataElements(
ParseDataElement(*decrypted, index);
if (!internal_elem.ok()) {
LOG(WARNING) << "Failed to read data element, status: "
<< internal_elem.status();
<< internal_elem.status();
return internal_elem.status();
}
if (internal_elem->GetType() == DataElement::kActionFieldType) {
@@ -238,8 +238,7 @@ absl::StatusOr<Advertisement> AdvertisementDecoderImpl::DecodeAdvertisement(
absl::string_view advertisement) {
Advertisement decoded_advertisement = Advertisement{};
std::vector<DataElement> result;
LOG(INFO) << "Advertisement: "
<< absl::BytesToHexString(advertisement);
LOG(INFO) << "Advertisement: " << absl::BytesToHexString(advertisement);
if (advertisement.empty()) {
return absl::OutOfRangeError("Empty advertisement");
}
@@ -255,8 +254,7 @@ absl::StatusOr<Advertisement> AdvertisementDecoderImpl::DecodeAdvertisement(
while (index < advertisement.size()) {
absl::StatusOr<DataElement> elem = ParseDataElement(advertisement, index);
if (!elem.ok()) {
LOG(WARNING) << "Failed to read data element, status: "
<< elem.status();
LOG(WARNING) << "Failed to read data element, status: " << elem.status();
return elem.status();
}
if (IsIdentity(elem->GetType())) {
@@ -57,9 +57,8 @@ void AddActionsToAdvertisement(const nearby_protocol::V0Actions& parsed_actions,
for (const auto action : kAllActionBits) {
auto action_type = MapAction(action);
if (!action_type.ok()) {
LOG(WARNING)
<< "Advertisement contains an unsupported action bit: "
<< (int)action;
LOG(WARNING) << "Advertisement contains an unsupported action bit: "
<< (int)action;
continue;
}
if (parsed_actions.HasAction(*action_type)) {
@@ -64,7 +64,7 @@ absl::Status AppendDataElement(unsigned data_type,
auto header = CreateDataElementHeader(data_element.size(), data_type);
if (!header.ok()) {
LOG(WARNING) << "Can't add Data element type: " << data_type
<< ", length: " << data_element.size();
<< ", length: " << data_element.size();
return header.status();
}
output.push_back(*header);
@@ -152,7 +152,7 @@ AdvertisementFactory::CreateBaseNpAdvertisement(
return result;
}
VLOG(1) << "Unencrypted advertisement payload "
<< absl::BytesToHexString(unencrypted);
<< absl::BytesToHexString(unencrypted);
absl::StatusOr<std::string> encrypted =
EncryptDataElements(*credential, request.salt, unencrypted);
if (!encrypted.ok()) {
@@ -65,11 +65,10 @@ bool AdvertisementFilter::MatchesScanFilter(
!(std::find(
requested_identity_types.begin(), requested_identity_types.end(),
advertisement.identity_type) != requested_identity_types.end())) {
LOG(INFO)
<< "Skipping advertisement with identity type: "
<< advertisement.identity_type
<< " because that identity type was not requested in the scan "
"request";
LOG(INFO) << "Skipping advertisement with identity type: "
<< advertisement.identity_type
<< " because that identity type was not requested in the scan "
"request";
return false;
}
@@ -93,8 +93,7 @@ absl::StatusOr<BaseBroadcastRequest> BaseBroadcastRequest::Create(
return absl::InvalidArgumentError("Missing broadcast sections");
}
if (presence_request.sections.size() > 1) {
LOG(WARNING)
<< "Only first section is used in BLE 4.2 advertisement";
LOG(WARNING) << "Only first section is used in BLE 4.2 advertisement";
}
const PresenceBroadcast::BroadcastSection& section =
presence_request.sections.front();
+8 -12
View File
@@ -87,8 +87,7 @@ absl::StatusOr<BroadcastSessionId> BroadcastManager::StartBroadcast(
absl::StatusOr<BaseBroadcastRequest> request =
BaseBroadcastRequest::Create(broadcast_request);
if (!request.ok()) {
LOG(WARNING) << "Invalid broadcast request, reason: "
<< request.status();
LOG(WARNING) << "Invalid broadcast request, reason: " << request.status();
callback.start_broadcast_cb(request.status());
return request.status();
}
@@ -124,9 +123,8 @@ void BroadcastManager::FetchCredentials(
std::vector<::nearby::internal::LocalCredential>>
credentials) {
if (!credentials.ok()) {
LOG(WARNING)
<< "Failed to fetch credentials, status: "
<< credentials.status();
LOG(WARNING) << "Failed to fetch credentials, status: "
<< credentials.status();
NotifyStartCallbackStatus(id, credentials.status());
return;
}
@@ -143,10 +141,9 @@ void BroadcastManager::FetchCredentials(
selector, std::move(*credential),
{[](absl::Status status) {
if (!status.ok()) {
LOG(WARNING)
<< "Failed to update private "
"credential, status: "
<< status;
LOG(WARNING) << "Failed to update private "
"credential, status: "
<< status;
}
}});
}
@@ -191,7 +188,7 @@ absl::optional<LocalCredential> BroadcastManager::Advertise( // NOLINT
AdvertisementFactory().CreateAdvertisement(broadcast_request, credential);
if (!advertisement.ok()) {
LOG(WARNING) << "Can't create advertisement, reason: "
<< advertisement.status();
<< advertisement.status();
NotifyStartCallbackStatus(id, advertisement.status());
return absl::optional<LocalCredential>(); // NOLINT
}
@@ -233,8 +230,7 @@ void BroadcastManager::StopBroadcast(BroadcastSessionId id) {
"stop-broadcast", [this, id]() ABSL_EXCLUSIVE_LOCKS_REQUIRED(executor_) {
auto it = sessions_.find(id);
if (it == sessions_.end()) {
VLOG(1) << absl::StrFormat("BroadcastSession(0x%x) not found",
id);
VLOG(1) << absl::StrFormat("BroadcastSession(0x%x) not found", id);
return;
}
it->second.StopAdvertising();
@@ -29,12 +29,12 @@
#include "absl/time/time.h"
#include "absl/types/span.h"
#include "absl/types/variant.h"
#include "internal/platform/byte_array.h"
#include "internal/platform/count_down_latch.h"
#include "internal/crypto_cros/aead.h"
#include "internal/crypto_cros/ec_private_key.h"
#include "internal/crypto_cros/hkdf.h"
#include "internal/platform/base64_utils.h"
#include "internal/platform/byte_array.h"
#include "internal/platform/count_down_latch.h"
#include "internal/platform/crypto.h"
#include "internal/platform/future.h"
#include "internal/platform/implementation/credential_callbacks.h"
@@ -147,8 +147,7 @@ void CredentialManagerImpl::GenerateCredentials(
callback = std::move(credentials_generated_cb),
public_credentials](absl::Status status) mutable {
if (!status.ok()) {
LOG(WARNING)
<< "Save credentials failed with: " << status;
LOG(WARNING) << "Save credentials failed with: " << status;
std::move(callback.credentials_generated_cb)(status);
return;
}
@@ -514,8 +513,8 @@ CredentialManagerImpl::GetSubscribedIdentities(
void CredentialManagerImpl::OnCredentialsChanged(
absl::string_view manager_app_id, absl::string_view account_name,
PublicCredentialType credential_type) {
LOG(INFO) << "OnCredentialsChanged for app " << manager_app_id
<< ", account " << account_name;
LOG(INFO) << "OnCredentialsChanged for app " << manager_app_id << ", account "
<< account_name;
for (IdentityType identity_type :
GetSubscribedIdentities(manager_app_id, account_name, credential_type)) {
CredentialSelector credential_selector = {
@@ -535,9 +534,8 @@ CredentialManagerImpl::CreateNotifySubscribersCallback(SubscriberKey key) {
[this,
key](absl::StatusOr<std::vector<SharedCredential>> credentials) {
if (!credentials.ok()) {
LOG(WARNING)
<< "Failed to get public credentials: error code: "
<< credentials.status();
LOG(WARNING) << "Failed to get public credentials: error code: "
<< credentials.status();
return;
}
RunOnServiceControllerThread(
@@ -555,13 +553,13 @@ void CredentialManagerImpl::NotifySubscribers(
// without locking.
auto it = subscribers_.find(key);
if (it == subscribers_.end()) {
LOG(WARNING)
<< "No subscribers for (app: " << key.credential_selector.manager_app_id
<< ", account: " << key.credential_selector.account_name
<< ", identity type: "
<< static_cast<int>(key.credential_selector.identity_type)
<< ", credential type: " << static_cast<int>(key.public_credential_type)
<< ")";
LOG(WARNING) << "No subscribers for (app: "
<< key.credential_selector.manager_app_id
<< ", account: " << key.credential_selector.account_name
<< ", identity type: "
<< static_cast<int>(key.credential_selector.identity_type)
<< ", credential type: "
<< static_cast<int>(key.public_credential_type) << ")";
return;
}
for (auto& subscriber : it->second) {
@@ -633,8 +631,7 @@ void CredentialManagerImpl::CheckCredentialsAndRefillIfNeeded(
valid_shared_credentials.push_back(credential);
}
} else {
LOG(ERROR)
<< "Bad parameters for CheckCredentialsAndRefillIfNeeded";
LOG(ERROR) << "Bad parameters for CheckCredentialsAndRefillIfNeeded";
return;
}
@@ -803,8 +800,7 @@ void CredentialManagerImpl::OnCredentialRefillComplete(
std::optional<GetPublicCredentialsResultCallback>
callback_for_shared_credentials) {
if (!save_credentials_status.ok()) {
LOG(ERROR) << "Save credentials failed with: "
<< save_credentials_status;
LOG(ERROR) << "Save credentials failed with: " << save_credentials_status;
if (callback_for_local_credentials.has_value()) {
callback_for_local_credentials.value().credentials_fetched_cb(
save_credentials_status);
@@ -829,7 +825,7 @@ bool CredentialManagerImpl::WaitForLatch(absl::string_view method_name,
Exception await_exception = latch->Await();
if (!await_exception.Ok()) {
LOG(ERROR) << "Blocked in " << method_name
<< " with exeception code: " << await_exception.value;
<< " with exeception code: " << await_exception.value;
return false;
}
return true;
+6 -8
View File
@@ -131,8 +131,7 @@ void ScanManager::NotifyFoundBle(ScanSessionId id, BleAdvertisementData data,
std::string remote_address = absl::StrCat(absl::Hex(peripheral_id));
if (it->second.advertisement_filter.MatchesScanFilter(*advert)) {
internal::DeviceIdentityMetaData device_identity_metadata;
device_identity_metadata.set_bluetooth_mac_address(
remote_address);
device_identity_metadata.set_bluetooth_mac_address(remote_address);
if (!device_unique_id_to_endpoint_id_map_.contains(peripheral_id)) {
PresenceDevice device(DeviceMotion(), device_identity_metadata,
@@ -150,12 +149,12 @@ void ScanManager::NotifyFoundBle(ScanSessionId id, BleAdvertisementData data,
}
device_unique_id_to_endpoint_id_map_.emplace(peripheral_id,
device.GetEndpointId());
device.GetEndpointId());
it->second.callback.on_discovered_cb(std::move(device));
} else {
PresenceDevice device(
device_unique_id_to_endpoint_id_map_.at(peripheral_id));
device_unique_id_to_endpoint_id_map_.at(peripheral_id));
device.SetDeviceIdentityMetaData(device_identity_metadata);
// Ok if the advertisement is for trusted/private identity.
if (advert->public_credential.ok()) {
@@ -187,7 +186,7 @@ void ScanManager::NotifyLostBle(ScanSessionId id,
device_identity_metadata.set_bluetooth_mac_address(
std::string(remote_address));
PresenceDevice device(
device_unique_id_to_endpoint_id_map_.at(peripheral_id));
device_unique_id_to_endpoint_id_map_.at(peripheral_id));
device.SetDeviceIdentityMetaData(device_identity_metadata);
device_unique_id_to_endpoint_id_map_.erase(peripheral_id);
@@ -222,9 +221,8 @@ void ScanManager::FetchCredentials(ScanSessionId id,
// Not fetching for PUBLIC.
if (selector.identity_type == internal::IDENTITY_TYPE_UNSPECIFIED ||
selector.identity_type == internal::IDENTITY_TYPE_PUBLIC) {
LOG(INFO) << __func__
<< ": skip feteching creds for identity type: "
<< selector.identity_type;
LOG(INFO) << __func__ << ": skip feteching creds for identity type: "
<< selector.identity_type;
continue;
}
credential_manager_->GetPublicCredentials(
+13 -14
View File
@@ -98,18 +98,18 @@ class ScanManagerTest : public testing::Test {
}
ScanCallback MakeDefaultScanCallback() {
return {.start_scan_cb =
[this](absl::Status status) {
if (status.ok()) {
start_latch_.CountDown();
}
},
.on_discovered_cb =
[this](PresenceDevice pd) { found_latch_.CountDown(); },
.on_updated_cb =
[this](PresenceDevice pd) { updated_latch_.CountDown(); },
.on_lost_cb =
[this](PresenceDevice pd) { lost_latch_.CountDown(); }};
return {
.start_scan_cb =
[this](absl::Status status) {
if (status.ok()) {
start_latch_.CountDown();
}
},
.on_discovered_cb =
[this](PresenceDevice pd) { found_latch_.CountDown(); },
.on_updated_cb =
[this](PresenceDevice pd) { updated_latch_.CountDown(); },
.on_lost_cb = [this](PresenceDevice pd) { lost_latch_.CountDown(); }};
}
std::vector<nearby::internal::IdentityType> MakeDefaultIdentityTypes() {
@@ -319,8 +319,7 @@ TEST_F(ScanManagerTest, StopOneSessionFromAnotherDeadlock) {
},
.on_discovered_cb =
[&](PresenceDevice pd) {
LOG(INFO)
<< "scansession2 found";
LOG(INFO) << "scansession2 found";
found_latch2.CountDown();
manager.StopScan(scan_session);
}};
+9 -11
View File
@@ -17,6 +17,7 @@
#include <optional>
#include <string>
#include <vector>
#include "absl/strings/string_view.h"
#include "absl/time/time.h"
#include "absl/types/variant.h"
@@ -51,7 +52,7 @@ std::string AuthenticationErrorToString(AuthenticationStatus status) {
return "AuthenticationStatus::kFailure";
}
LOG(ERROR) << "Unexpected value for AuthenticationStatus: "
<< static_cast<int>(status);
<< static_cast<int>(status);
return "AuthenticationStatus::kUnknown";
}
@@ -131,16 +132,14 @@ AuthenticationStatus PresenceDeviceProvider::AuthenticateAsInitiator(
&shared_secret](
auto status_or_credentials) {
if (!status_or_credentials.ok()) {
LOG(INFO)
<< __func__ << ": failure to fetch local credentials";
LOG(INFO) << __func__ << ": failure to fetch local credentials";
response.Set(AuthenticationStatus::kFailure);
return;
}
auto credential = GetValidCredential(status_or_credentials.value());
if (!credential.has_value()) {
LOG(INFO)
<< __func__ << ": failure to find a valid local credential";
LOG(INFO) << __func__ << ": failure to find a valid local credential";
response.Set(AuthenticationStatus::kFailure);
return;
}
@@ -176,7 +175,7 @@ AuthenticationStatus PresenceDeviceProvider::AuthenticateAsInitiator(
CHECK(result.ok());
LOG(INFO) << "Future:[" << __func__ << "] completed with status:"
<< AuthenticationErrorToString(result.result());
<< AuthenticationErrorToString(result.result());
return result.result();
}
@@ -203,8 +202,7 @@ bool PresenceDeviceProvider::WriteToRemoteDevice(
/*ukey2_secret=*/shared_secret, /*local_credential=*/local_credential,
/*shared_credential=*/shared_credential.value());
if (!status_or_initiator_data.ok()) {
LOG(INFO) << __func__
<< ": failure to build signed message as initiator";
LOG(INFO) << __func__ << ": failure to build signed message as initiator";
return false;
}
@@ -232,8 +230,8 @@ bool PresenceDeviceProvider::ReadAndVerifyRemoteDeviceData(
&shared_secret](
auto status_or_credentials) {
if (!status_or_credentials.ok()) {
LOG(INFO)
<< __func__ << ": failure to fetch local public credentials";
LOG(INFO) << __func__
<< ": failure to fetch local public credentials";
read_and_verify_result.Set(/*success=*/false);
return;
}
@@ -255,7 +253,7 @@ bool PresenceDeviceProvider::ReadAndVerifyRemoteDeviceData(
LOG(INFO) << __func__ << ": Waiting for future to complete";
ExceptionOr<bool> result = read_and_verify_result.Get();
LOG(INFO) << "Future:[" << __func__
<< "] completed with status:" << result.result();
<< "] completed with status:" << result.result();
return result.result();
}