diff options
author | Abraham Corea Diaz <abrahamcd@google.com> | 2021-06-30 16:55:56 +0000 |
---|---|---|
committer | Openscreen LUCI CQ <openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-06-30 17:39:49 +0000 |
commit | fb98aabab3ee63d07f0a56c8873e8e24c18b2055 (patch) | |
tree | db29c2f0cdea02a114b57c620a9b574662a84c97 | |
parent | 6c58a6c92528d5b0b3dbe55f4bf44c69a27270cf (diff) | |
download | openscreen-fb98aabab3ee63d07f0a56c8873e8e24c18b2055.tar.gz |
Rename ServiceInfo to ReceiverInfo
This patch renames ServiceInfo and all related usages to ReceiverInfo.
Bug: b/155337619
Change-Id: I9337dbb7f64339bf60f079726f21af9a2452cddb
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2994467
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: Jordan Bayles <jophba@chromium.org>
17 files changed, 141 insertions, 138 deletions
diff --git a/cast/common/BUILD.gn b/cast/common/BUILD.gn index 9e32e27d..d9d3c96b 100644 --- a/cast/common/BUILD.gn +++ b/cast/common/BUILD.gn @@ -83,8 +83,8 @@ source_set("public") { sources = [ "public/cast_socket.h", "public/message_port.h", - "public/service_info.cc", - "public/service_info.h", + "public/receiver_info.cc", + "public/receiver_info.h", ] deps = [ @@ -154,7 +154,7 @@ source_set("unittests") { "channel/message_framer_unittest.cc", "channel/namespace_router_unittest.cc", "channel/virtual_connection_router_unittest.cc", - "public/service_info_unittest.cc", + "public/receiver_info_unittest.cc", ] deps = [ diff --git a/cast/common/discovery/e2e_test/tests.cc b/cast/common/discovery/e2e_test/tests.cc index 82234845..3f316ae3 100644 --- a/cast/common/discovery/e2e_test/tests.cc +++ b/cast/common/discovery/e2e_test/tests.cc @@ -11,7 +11,7 @@ // ASSERTS due to asynchronous concerns around test failures. // Although this causes the entire test binary to fail instead of // just a single test, it makes debugging easier/possible. -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "discovery/common/config.h" #include "discovery/common/reporting_client.h" #include "discovery/public/dns_sd_service_factory.h" @@ -44,12 +44,12 @@ constexpr milliseconds kCheckLoopSleepTime(100); constexpr int kMaxCheckLoopIterations = 25; // Publishes new service instances. -class Publisher : public discovery::DnsSdServicePublisher<ServiceInfo> { +class Publisher : public discovery::DnsSdServicePublisher<ReceiverInfo> { public: explicit Publisher(discovery::DnsSdService* service) // NOLINT - : DnsSdServicePublisher<ServiceInfo>(service, - kCastV2ServiceId, - ServiceInfoToDnsSdInstance) { + : DnsSdServicePublisher<ReceiverInfo>(service, + kCastV2ServiceId, + ReceiverInfoToDnsSdInstance) { OSP_LOG_INFO << "Initializing Publisher...\n"; } @@ -71,40 +71,40 @@ class Publisher : public discovery::DnsSdServicePublisher<ServiceInfo> { }; // Receives incoming services and outputs their results to stdout. -class ServiceReceiver : public discovery::DnsSdServiceWatcher<ServiceInfo> { +class ServiceReceiver : public discovery::DnsSdServiceWatcher<ReceiverInfo> { public: explicit ServiceReceiver(discovery::DnsSdService* service) // NOLINT - : discovery::DnsSdServiceWatcher<ServiceInfo>( + : discovery::DnsSdServiceWatcher<ReceiverInfo>( service, kCastV2ServiceId, - DnsSdInstanceEndpointToServiceInfo, + DnsSdInstanceEndpointToReceiverInfo, [this]( - std::vector<std::reference_wrapper<const ServiceInfo>> infos) { + std::vector<std::reference_wrapper<const ReceiverInfo>> infos) { ProcessResults(std::move(infos)); }) { OSP_LOG_INFO << "Initializing ServiceReceiver..."; } - bool IsServiceFound(const ServiceInfo& check_service) { - return std::find_if(service_infos_.begin(), service_infos_.end(), - [&check_service](const ServiceInfo& info) { + bool IsServiceFound(const ReceiverInfo& check_service) { + return std::find_if(receiver_infos_.begin(), receiver_infos_.end(), + [&check_service](const ReceiverInfo& info) { return info.friendly_name == check_service.friendly_name; - }) != service_infos_.end(); + }) != receiver_infos_.end(); } - void EraseReceivedServices() { service_infos_.clear(); } + void EraseReceivedServices() { receiver_infos_.clear(); } private: void ProcessResults( - std::vector<std::reference_wrapper<const ServiceInfo>> infos) { - service_infos_.clear(); - for (const ServiceInfo& info : infos) { - service_infos_.push_back(info); + std::vector<std::reference_wrapper<const ReceiverInfo>> infos) { + receiver_infos_.clear(); + for (const ReceiverInfo& info : infos) { + receiver_infos_.push_back(info); } } - std::vector<ServiceInfo> service_infos_; + std::vector<ReceiverInfo> receiver_infos_; }; class FailOnErrorReporting : public discovery::ReportingClient { @@ -145,8 +145,8 @@ class DiscoveryE2ETest : public testing::Test { } protected: - ServiceInfo GetInfo(int id) { - ServiceInfo hosted_service; + ReceiverInfo GetInfo(int id) { + ReceiverInfo hosted_service; hosted_service.port = 1234; hosted_service.unique_id = "id" + std::to_string(id); hosted_service.model_name = "openscreen-Model" + std::to_string(id); @@ -179,8 +179,8 @@ class DiscoveryE2ETest : public testing::Test { OSP_DCHECK(dnssd_service_.get()); OSP_DCHECK(publisher_.get()); - std::vector<ServiceInfo> record_set{std::move(records)...}; - for (ServiceInfo& record : record_set) { + std::vector<ReceiverInfo> record_set{std::move(records)...}; + for (ReceiverInfo& record : record_set) { task_runner_->PostTask([this, r = std::move(record)]() { auto error = publisher_->UpdateRegistration(r); OSP_CHECK(error.ok()) << "\tFailed to update service instance '" @@ -194,8 +194,8 @@ class DiscoveryE2ETest : public testing::Test { OSP_DCHECK(dnssd_service_.get()); OSP_DCHECK(publisher_.get()); - std::vector<ServiceInfo> record_set{std::move(records)...}; - for (ServiceInfo& record : record_set) { + std::vector<ReceiverInfo> record_set{std::move(records)...}; + for (ReceiverInfo& record : record_set) { task_runner_->PostTask([this, r = std::move(record)]() { auto error = publisher_->Register(r); OSP_CHECK(error.ok()) << "\tFailed to publish service instance '" @@ -230,20 +230,20 @@ class DiscoveryE2ETest : public testing::Test { << "Could not find " << waiting_on << " service instances!"; } - void CheckForClaimedIds(ServiceInfo service_info, + void CheckForClaimedIds(ReceiverInfo receiver_info, std::atomic_bool* has_been_seen) { OSP_DCHECK(dnssd_service_.get()); task_runner_->PostTask( - [this, info = std::move(service_info), has_been_seen]() mutable { + [this, info = std::move(receiver_info), has_been_seen]() mutable { CheckForClaimedIds(std::move(info), has_been_seen, 0); }); } - void CheckForPublishedService(ServiceInfo service_info, + void CheckForPublishedService(ReceiverInfo receiver_info, std::atomic_bool* has_been_seen) { OSP_DCHECK(dnssd_service_.get()); task_runner_->PostTask( - [this, info = std::move(service_info), has_been_seen]() mutable { + [this, info = std::move(receiver_info), has_been_seen]() mutable { CheckForPublishedService(std::move(info), has_been_seen, 0, true); }); } @@ -251,11 +251,11 @@ class DiscoveryE2ETest : public testing::Test { // TODO(issuetracker.google.com/159256503): Change this to use a polling // method to wait until the service disappears rather than immediately failing // if it exists, so waits throughout this file can be removed. - void CheckNotPublishedService(ServiceInfo service_info, + void CheckNotPublishedService(ReceiverInfo receiver_info, std::atomic_bool* has_been_seen) { OSP_DCHECK(dnssd_service_.get()); task_runner_->PostTask( - [this, info = std::move(service_info), has_been_seen]() mutable { + [this, info = std::move(receiver_info), has_been_seen]() mutable { CheckForPublishedService(std::move(info), has_been_seen, 0, false); }); } @@ -266,37 +266,38 @@ class DiscoveryE2ETest : public testing::Test { std::unique_ptr<Publisher> publisher_; private: - void CheckForClaimedIds(ServiceInfo service_info, + void CheckForClaimedIds(ReceiverInfo receiver_info, std::atomic_bool* has_been_seen, int attempts) { - if (publisher_->IsInstanceIdClaimed(service_info.GetInstanceId())) { + if (publisher_->IsInstanceIdClaimed(receiver_info.GetInstanceId())) { // TODO(crbug.com/openscreen/110): Log the published service instance. *has_been_seen = true; return; } OSP_CHECK_LE(attempts++, kMaxCheckLoopIterations) - << "Service " << service_info.friendly_name << " publication failed."; + << "Service " << receiver_info.friendly_name << " publication failed."; task_runner_->PostTaskWithDelay( - [this, info = std::move(service_info), has_been_seen, + [this, info = std::move(receiver_info), has_been_seen, attempts]() mutable { CheckForClaimedIds(std::move(info), has_been_seen, attempts); }, kCheckLoopSleepTime); } - void CheckForPublishedService(ServiceInfo service_info, + void CheckForPublishedService(ReceiverInfo receiver_info, std::atomic_bool* has_been_seen, int attempts, bool expect_to_be_present) { - if (!receiver_->IsServiceFound(service_info)) { + if (!receiver_->IsServiceFound(receiver_info)) { if (attempts++ > kMaxCheckLoopIterations) { OSP_CHECK(!expect_to_be_present) - << "Service " << service_info.friendly_name << " discovery failed."; + << "Service " << receiver_info.friendly_name + << " discovery failed."; return; } task_runner_->PostTaskWithDelay( - [this, info = std::move(service_info), has_been_seen, attempts, + [this, info = std::move(receiver_info), has_been_seen, attempts, expect_to_be_present]() mutable { CheckForPublishedService(std::move(info), has_been_seen, attempts, expect_to_be_present); @@ -306,7 +307,8 @@ class DiscoveryE2ETest : public testing::Test { // TODO(crbug.com/openscreen/110): Log the discovered service instance. *has_been_seen = true; } else { - OSP_LOG_FATAL << "Found instance '" << service_info.friendly_name << "'!"; + OSP_LOG_FATAL << "Found instance '" << receiver_info.friendly_name + << "'!"; } } }; diff --git a/cast/common/public/service_info.cc b/cast/common/public/receiver_info.cc index 732688f8..8c8b0654 100644 --- a/cast/common/public/service_info.cc +++ b/cast/common/public/receiver_info.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include <cctype> #include <cinttypes> @@ -35,7 +35,7 @@ const size_t kMaxDeviceModelSize = 20; // convention will be followed here. That being said, the Eureka receiver does // not use the instance ID in any way, so the specific calculation used should // not be important. -std::string CalculateInstanceId(const ServiceInfo& info) { +std::string CalculateInstanceId(const ReceiverInfo& info) { // First set the device model, truncated to 20 bytes at most. Replace any // whitespace characters (" ") with hyphens ("-") in the device model before // truncation. @@ -71,7 +71,7 @@ std::string GetStringFromRecord(const discovery::DnsSdTxtRecord& txt, } // namespace -const std::string& ServiceInfo::GetInstanceId() const { +const std::string& ReceiverInfo::GetInstanceId() const { if (instance_id_ == std::string("")) { instance_id_ = CalculateInstanceId(*this); } @@ -79,7 +79,7 @@ const std::string& ServiceInfo::GetInstanceId() const { return instance_id_; } -bool ServiceInfo::IsValid() const { +bool ReceiverInfo::IsValid() const { return ( discovery::IsInstanceValid(GetInstanceId()) && port != 0 && !unique_id.empty() && @@ -98,7 +98,7 @@ bool ServiceInfo::IsValid() const { friendly_name)); } -discovery::DnsSdInstance ServiceInfoToDnsSdInstance(const ServiceInfo& info) { +discovery::DnsSdInstance ReceiverInfoToDnsSdInstance(const ReceiverInfo& info) { OSP_DCHECK(discovery::IsServiceValid(kCastV2ServiceId)); OSP_DCHECK(discovery::IsDomainValid(kCastV2DomainId)); @@ -121,13 +121,13 @@ discovery::DnsSdInstance ServiceInfoToDnsSdInstance(const ServiceInfo& info) { kCastV2DomainId, std::move(txt), info.port); } -ErrorOr<ServiceInfo> DnsSdInstanceEndpointToServiceInfo( +ErrorOr<ReceiverInfo> DnsSdInstanceEndpointToReceiverInfo( const discovery::DnsSdInstanceEndpoint& endpoint) { if (endpoint.service_id() != kCastV2ServiceId) { return {Error::Code::kParameterInvalid, "Not a Cast device."}; } - ServiceInfo record; + ReceiverInfo record; for (const IPAddress& address : endpoint.addresses()) { if (!record.v4_address && address.IsV4()) { record.v4_address = address; diff --git a/cast/common/public/service_info.h b/cast/common/public/receiver_info.h index 301ef99f..445797ef 100644 --- a/cast/common/public/service_info.h +++ b/cast/common/public/receiver_info.h @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CAST_COMMON_PUBLIC_SERVICE_INFO_H_ -#define CAST_COMMON_PUBLIC_SERVICE_INFO_H_ +#ifndef CAST_COMMON_PUBLIC_RECEIVER_INFO_H_ +#define CAST_COMMON_PUBLIC_RECEIVER_INFO_H_ #include <memory> #include <string> @@ -53,14 +53,13 @@ constexpr uint64_t kIsDevModeEnabled = 1 << 4; constexpr uint64_t kNoCapabilities = 0; -// This is the top-level service info class for CastV2. It describes a specific +// This is the top-level receiver info class for CastV2. It describes a specific // service instance. -// TODO(crbug.com/openscreen/112): Rename this to CastReceiverInfo or similar. -struct ServiceInfo { - // returns the instance id associated with this ServiceInfo instance. +struct ReceiverInfo { + // returns the instance id associated with this ReceiverInfo instance. const std::string& GetInstanceId() const; - // Returns whether all fields of this ServiceInfo are valid. + // Returns whether all fields of this ReceiverInfo are valid. bool IsValid() const; // Addresses for the service. Present if an address of this address type @@ -98,7 +97,7 @@ struct ServiceInfo { mutable std::string instance_id_ = ""; }; -inline bool operator==(const ServiceInfo& lhs, const ServiceInfo& rhs) { +inline bool operator==(const ReceiverInfo& lhs, const ReceiverInfo& rhs) { return lhs.v4_address == rhs.v4_address && lhs.v6_address == rhs.v6_address && lhs.port == rhs.port && lhs.unique_id == rhs.unique_id && lhs.protocol_version == rhs.protocol_version && @@ -107,18 +106,19 @@ inline bool operator==(const ServiceInfo& lhs, const ServiceInfo& rhs) { lhs.friendly_name == rhs.friendly_name; } -inline bool operator!=(const ServiceInfo& lhs, const ServiceInfo& rhs) { +inline bool operator!=(const ReceiverInfo& lhs, const ReceiverInfo& rhs) { return !(lhs == rhs); } // Functions responsible for converting between CastV2 and DNS-SD // representations of a service instance. -discovery::DnsSdInstance ServiceInfoToDnsSdInstance(const ServiceInfo& service); +discovery::DnsSdInstance ReceiverInfoToDnsSdInstance( + const ReceiverInfo& service); -ErrorOr<ServiceInfo> DnsSdInstanceEndpointToServiceInfo( +ErrorOr<ReceiverInfo> DnsSdInstanceEndpointToReceiverInfo( const discovery::DnsSdInstanceEndpoint& endpoint); } // namespace cast } // namespace openscreen -#endif // CAST_COMMON_PUBLIC_SERVICE_INFO_H_ +#endif // CAST_COMMON_PUBLIC_RECEIVER_INFO_H_ diff --git a/cast/common/public/service_info_unittest.cc b/cast/common/public/receiver_info_unittest.cc index 08401a45..a7b16e2d 100644 --- a/cast/common/public/service_info_unittest.cc +++ b/cast/common/public/receiver_info_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include <cstdio> #include <sstream> @@ -20,13 +20,13 @@ constexpr NetworkInterfaceIndex kNetworkInterface = 0; } -TEST(ServiceInfoTests, ConvertValidFromDnsSd) { +TEST(ReceiverInfoTests, ConvertValidFromDnsSd) { std::string instance = "InstanceId"; discovery::DnsSdTxtRecord txt = CreateValidTxt(); discovery::DnsSdInstanceEndpoint record( instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); - ErrorOr<ServiceInfo> info = DnsSdInstanceEndpointToServiceInfo(record); + ErrorOr<ReceiverInfo> info = DnsSdInstanceEndpointToReceiverInfo(record); ASSERT_TRUE(info.is_value()) << info; EXPECT_EQ(info.value().unique_id, kTestUniqueId); EXPECT_TRUE(info.value().v4_address); @@ -44,7 +44,7 @@ TEST(ServiceInfoTests, ConvertValidFromDnsSd) { record = discovery::DnsSdInstanceEndpoint(instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4); - info = DnsSdInstanceEndpointToServiceInfo(record); + info = DnsSdInstanceEndpointToReceiverInfo(record); ASSERT_TRUE(info.is_value()); EXPECT_EQ(info.value().unique_id, kTestUniqueId); EXPECT_TRUE(info.value().v4_address); @@ -60,7 +60,7 @@ TEST(ServiceInfoTests, ConvertValidFromDnsSd) { record = discovery::DnsSdInstanceEndpoint(instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV6); - info = DnsSdInstanceEndpointToServiceInfo(record); + info = DnsSdInstanceEndpointToReceiverInfo(record); ASSERT_TRUE(info.is_value()); EXPECT_EQ(info.value().unique_id, kTestUniqueId); EXPECT_FALSE(info.value().v4_address); @@ -74,42 +74,42 @@ TEST(ServiceInfoTests, ConvertValidFromDnsSd) { EXPECT_EQ(info.value().friendly_name, kFriendlyName); } -TEST(ServiceInfoTests, ConvertInvalidFromDnsSd) { +TEST(ReceiverInfoTests, ConvertInvalidFromDnsSd) { std::string instance = "InstanceId"; discovery::DnsSdTxtRecord txt = CreateValidTxt(); txt.ClearValue(kUniqueIdKey); discovery::DnsSdInstanceEndpoint record( instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); - EXPECT_TRUE(DnsSdInstanceEndpointToServiceInfo(record).is_error()); + EXPECT_TRUE(DnsSdInstanceEndpointToReceiverInfo(record).is_error()); txt = CreateValidTxt(); txt.ClearValue(kVersionKey); record = discovery::DnsSdInstanceEndpoint( instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); - EXPECT_TRUE(DnsSdInstanceEndpointToServiceInfo(record).is_error()); + EXPECT_TRUE(DnsSdInstanceEndpointToReceiverInfo(record).is_error()); txt = CreateValidTxt(); txt.ClearValue(kCapabilitiesKey); record = discovery::DnsSdInstanceEndpoint( instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); - EXPECT_TRUE(DnsSdInstanceEndpointToServiceInfo(record).is_error()); + EXPECT_TRUE(DnsSdInstanceEndpointToReceiverInfo(record).is_error()); txt = CreateValidTxt(); txt.ClearValue(kStatusKey); record = discovery::DnsSdInstanceEndpoint( instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); - EXPECT_TRUE(DnsSdInstanceEndpointToServiceInfo(record).is_error()); + EXPECT_TRUE(DnsSdInstanceEndpointToReceiverInfo(record).is_error()); txt = CreateValidTxt(); txt.ClearValue(kFriendlyNameKey); record = discovery::DnsSdInstanceEndpoint( instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); - EXPECT_TRUE(DnsSdInstanceEndpointToServiceInfo(record).is_error()); + EXPECT_TRUE(DnsSdInstanceEndpointToReceiverInfo(record).is_error()); txt = CreateValidTxt(); txt.ClearValue(kModelNameKey); @@ -117,11 +117,11 @@ TEST(ServiceInfoTests, ConvertInvalidFromDnsSd) { instance, kCastV2ServiceId, kCastV2DomainId, txt, kNetworkInterface, kEndpointV4, kEndpointV6); // Note: Model name is an optional field. - EXPECT_FALSE(DnsSdInstanceEndpointToServiceInfo(record).is_error()); + EXPECT_FALSE(DnsSdInstanceEndpointToReceiverInfo(record).is_error()); } -TEST(ServiceInfoTests, ConvertValidToDnsSd) { - ServiceInfo info; +TEST(ReceiverInfoTests, ConvertValidToDnsSd) { + ReceiverInfo info; info.v4_address = kAddressV4; info.v6_address = kAddressV6; info.port = kPort; @@ -131,7 +131,7 @@ TEST(ServiceInfoTests, ConvertValidToDnsSd) { info.status = kStatusParsed; info.model_name = kModelName; info.friendly_name = kFriendlyName; - discovery::DnsSdInstance instance = ServiceInfoToDnsSdInstance(info); + discovery::DnsSdInstance instance = ReceiverInfoToDnsSdInstance(info); CompareTxtString(instance.txt(), kUniqueIdKey, kTestUniqueId); CompareTxtString(instance.txt(), kCapabilitiesKey, kCapabilitiesString); CompareTxtString(instance.txt(), kModelNameKey, kModelName); @@ -140,7 +140,7 @@ TEST(ServiceInfoTests, ConvertValidToDnsSd) { CompareTxtInt(instance.txt(), kStatusKey, kStatus); } -TEST(ServiceInfoTests, ParseServiceInfoFromRealTXT) { +TEST(ReceiverInfoTests, ParseReceiverInfoFromRealTXT) { constexpr struct { const char* key; const char* value; @@ -168,9 +168,9 @@ TEST(ServiceInfoTests, ParseServiceInfoFromRealTXT) { "InstanceId", kCastV2ServiceId, kCastV2DomainId, std::move(txt), kNetworkInterface, kEndpointV4, kEndpointV6); - const ErrorOr<ServiceInfo> result = - DnsSdInstanceEndpointToServiceInfo(record); - const ServiceInfo& info = result.value(); + const ErrorOr<ReceiverInfo> result = + DnsSdInstanceEndpointToReceiverInfo(record); + const ReceiverInfo& info = result.value(); EXPECT_EQ(info.unique_id, "4ef522244a5a877f35ddead7d98702e6"); EXPECT_EQ(info.protocol_version, 5); EXPECT_TRUE(info.capabilities & (kHasVideoOutput | kHasAudioOutput)); diff --git a/cast/common/public/testing/discovery_utils.h b/cast/common/public/testing/discovery_utils.h index b0d7d03b..6e805e74 100644 --- a/cast/common/public/testing/discovery_utils.h +++ b/cast/common/public/testing/discovery_utils.h @@ -7,7 +7,7 @@ #include <string> -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "discovery/dnssd/public/dns_sd_txt_record.h" #include "gmock/gmock.h" #include "gtest/gtest.h" diff --git a/cast/sender/cast_app_discovery_service_impl.cc b/cast/sender/cast_app_discovery_service_impl.cc index 4ca9a016..cdf46bf2 100644 --- a/cast/sender/cast_app_discovery_service_impl.cc +++ b/cast/sender/cast_app_discovery_service_impl.cc @@ -76,7 +76,7 @@ void CastAppDiscoveryServiceImpl::Refresh() { } void CastAppDiscoveryServiceImpl::AddOrUpdateReceiver( - const ServiceInfo& receiver) { + const ReceiverInfo& receiver) { const std::string& device_id = receiver.unique_id; receivers_by_id_[device_id] = receiver; @@ -89,7 +89,7 @@ void CastAppDiscoveryServiceImpl::AddOrUpdateReceiver( } } -void CastAppDiscoveryServiceImpl::RemoveReceiver(const ServiceInfo& receiver) { +void CastAppDiscoveryServiceImpl::RemoveReceiver(const ReceiverInfo& receiver) { const std::string& device_id = receiver.unique_id; receivers_by_id_.erase(device_id); UpdateAvailabilityQueries( @@ -135,16 +135,16 @@ void CastAppDiscoveryServiceImpl::UpdateAvailabilityQueries( continue; std::vector<std::string> device_ids = availability_tracker_.GetAvailableDevices(source); - std::vector<ServiceInfo> receivers = GetReceiversByIds(device_ids); + std::vector<ReceiverInfo> receivers = GetReceiversByIds(device_ids); for (const auto& callback : it->second) { callback.callback(source, receivers); } } } -std::vector<ServiceInfo> CastAppDiscoveryServiceImpl::GetReceiversByIds( +std::vector<ReceiverInfo> CastAppDiscoveryServiceImpl::GetReceiversByIds( const std::vector<std::string>& device_ids) const { - std::vector<ServiceInfo> receivers; + std::vector<ReceiverInfo> receivers; for (const std::string& device_id : device_ids) { auto entry = receivers_by_id_.find(device_id); if (entry != receivers_by_id_.end()) { diff --git a/cast/sender/cast_app_discovery_service_impl.h b/cast/sender/cast_app_discovery_service_impl.h index fa577808..aa2354d2 100644 --- a/cast/sender/cast_app_discovery_service_impl.h +++ b/cast/sender/cast_app_discovery_service_impl.h @@ -9,7 +9,7 @@ #include <string> #include <vector> -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "cast/sender/cast_app_availability_tracker.h" #include "cast/sender/cast_platform_client.h" #include "cast/sender/public/cast_app_discovery_service.h" @@ -37,8 +37,8 @@ class CastAppDiscoveryServiceImpl : public CastAppDiscoveryService { // app_id) pairs whose status is kUnavailable or kUnknown. void Refresh() override; - void AddOrUpdateReceiver(const ServiceInfo& receiver); - void RemoveReceiver(const ServiceInfo& receiver); + void AddOrUpdateReceiver(const ReceiverInfo& receiver); + void RemoveReceiver(const ReceiverInfo& receiver); private: struct AvailabilityCallbackEntry { @@ -60,7 +60,7 @@ class CastAppDiscoveryServiceImpl : public CastAppDiscoveryService { // Updates the availability query results for |sources|. void UpdateAvailabilityQueries(const std::vector<CastMediaSource>& sources); - std::vector<ServiceInfo> GetReceiversByIds( + std::vector<ReceiverInfo> GetReceiversByIds( const std::vector<std::string>& device_ids) const; // Returns true if an app availability request should be issued for @@ -72,7 +72,7 @@ class CastAppDiscoveryServiceImpl : public CastAppDiscoveryService { void RemoveAvailabilityCallback(uint32_t id) override; - std::map<std::string, ServiceInfo> receivers_by_id_; + std::map<std::string, ReceiverInfo> receivers_by_id_; // Registered availability queries and their associated callbacks keyed by // media source IDs. diff --git a/cast/sender/cast_app_discovery_service_impl_unittest.cc b/cast/sender/cast_app_discovery_service_impl_unittest.cc index a2eeb046..7f08b13e 100644 --- a/cast/sender/cast_app_discovery_service_impl_unittest.cc +++ b/cast/sender/cast_app_discovery_service_impl_unittest.cc @@ -9,7 +9,7 @@ #include "cast/common/channel/testing/fake_cast_socket.h" #include "cast/common/channel/testing/mock_socket_error_handler.h" #include "cast/common/channel/virtual_connection_router.h" -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "cast/sender/testing/test_helpers.h" #include "gtest/gtest.h" #include "platform/test/fake_clock.h" @@ -42,23 +42,23 @@ class CastAppDiscoveryServiceImplTest : public ::testing::Test { return fake_cast_socket_pair_.mock_peer_client; } - void AddOrUpdateReceiver(const ServiceInfo& receiver, int32_t socket_id) { + void AddOrUpdateReceiver(const ReceiverInfo& receiver, int32_t socket_id) { platform_client_.AddOrUpdateReceiver(receiver, socket_id); app_discovery_service_.AddOrUpdateReceiver(receiver); } CastAppDiscoveryService::Subscription StartObservingAvailability( const CastMediaSource& source, - std::vector<ServiceInfo>* save_receivers) { + std::vector<ReceiverInfo>* save_receivers) { return app_discovery_service_.StartObservingAvailability( source, [save_receivers](const CastMediaSource& source, - const std::vector<ServiceInfo>& receivers) { + const std::vector<ReceiverInfo>& receivers) { *save_receivers = receivers; }); } CastAppDiscoveryService::Subscription StartSourceA1Query( - std::vector<ServiceInfo>* receivers, + std::vector<ReceiverInfo>* receivers, int* request_id, std::string* sender_id) { auto subscription = StartObservingAvailability(source_a_1_, receivers); @@ -91,18 +91,18 @@ class CastAppDiscoveryServiceImplTest : public ::testing::Test { CastMediaSource source_a_2_{"cast:AAA?clientId=2", {"AAA"}}; CastMediaSource source_b_1_{"cast:BBB?clientId=1", {"BBB"}}; - ServiceInfo receiver_; + ReceiverInfo receiver_; }; TEST_F(CastAppDiscoveryServiceImplTest, StartObservingAvailability) { - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; int request_id; std::string sender_id; auto subscription1 = StartSourceA1Query(&receivers1, &request_id, &sender_id); // Same app ID should not trigger another request. EXPECT_CALL(peer_client(), OnMessage(_, _)).Times(0); - std::vector<ServiceInfo> receivers2; + std::vector<ReceiverInfo> receivers2; auto subscription2 = StartObservingAvailability(source_a_2_, &receivers2); CastMessage availability_response = @@ -123,7 +123,7 @@ TEST_F(CastAppDiscoveryServiceImplTest, StartObservingAvailability) { } TEST_F(CastAppDiscoveryServiceImplTest, ReAddAvailQueryUsesCachedValue) { - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; int request_id; std::string sender_id; auto subscription1 = StartSourceA1Query(&receivers1, &request_id, &sender_id); @@ -145,7 +145,7 @@ TEST_F(CastAppDiscoveryServiceImplTest, ReAddAvailQueryUsesCachedValue) { } TEST_F(CastAppDiscoveryServiceImplTest, AvailQueryUpdatedOnReceiverUpdate) { - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; int request_id; std::string sender_id; auto subscription1 = StartSourceA1Query(&receivers1, &request_id, &sender_id); @@ -169,9 +169,9 @@ TEST_F(CastAppDiscoveryServiceImplTest, AvailQueryUpdatedOnReceiverUpdate) { } TEST_F(CastAppDiscoveryServiceImplTest, Refresh) { - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; auto subscription1 = StartObservingAvailability(source_a_1_, &receivers1); - std::vector<ServiceInfo> receivers2; + std::vector<ReceiverInfo> receivers2; auto subscription2 = StartObservingAvailability(source_b_1_, &receivers2); // Adding a receiver after app registered causes two separate app availability @@ -236,7 +236,7 @@ TEST_F(CastAppDiscoveryServiceImplTest, .WillOnce([&request_idA, &sender_id](CastSocket*, CastMessage message) { VerifyAppAvailabilityRequest(message, "AAA", &request_idA, &sender_id); }); - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; auto subscription1 = StartObservingAvailability(source_a_1_, &receivers1); int request_idB = -1; @@ -244,7 +244,7 @@ TEST_F(CastAppDiscoveryServiceImplTest, .WillOnce([&request_idB, &sender_id](CastSocket*, CastMessage message) { VerifyAppAvailabilityRequest(message, "BBB", &request_idB, &sender_id); }); - std::vector<ServiceInfo> receivers2; + std::vector<ReceiverInfo> receivers2; auto subscription2 = StartObservingAvailability(source_b_1_, &receivers2); // Add a new receiver with a corresponding socket. @@ -252,7 +252,7 @@ TEST_F(CastAppDiscoveryServiceImplTest, {{192, 168, 1, 19}, 2345}); CastSocket* socket2 = fake_sockets2.socket.get(); router_.TakeSocket(&mock_error_handler_, std::move(fake_sockets2.socket)); - ServiceInfo receiver2; + ReceiverInfo receiver2; receiver2.unique_id = "deviceId2"; receiver2.v4_address = fake_sockets2.remote_endpoint.address; receiver2.port = fake_sockets2.remote_endpoint.port; @@ -283,7 +283,7 @@ TEST_F(CastAppDiscoveryServiceImplTest, } TEST_F(CastAppDiscoveryServiceImplTest, StartObservingAvailabilityCachedValue) { - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; int request_id; std::string sender_id; auto subscription1 = StartSourceA1Query(&receivers1, &request_id, &sender_id); @@ -297,14 +297,14 @@ TEST_F(CastAppDiscoveryServiceImplTest, StartObservingAvailabilityCachedValue) { // Same app ID should not trigger another request, but it should return // cached value. EXPECT_CALL(peer_client(), OnMessage(_, _)).Times(0); - std::vector<ServiceInfo> receivers2; + std::vector<ReceiverInfo> receivers2; auto subscription2 = StartObservingAvailability(source_a_2_, &receivers2); ASSERT_EQ(receivers2.size(), 1u); EXPECT_EQ(receivers2[0].unique_id, "deviceId1"); } TEST_F(CastAppDiscoveryServiceImplTest, AvailabilityUnknownOrUnavailable) { - std::vector<ServiceInfo> receivers1; + std::vector<ReceiverInfo> receivers1; int request_id; std::string sender_id; auto subscription1 = StartSourceA1Query(&receivers1, &request_id, &sender_id); diff --git a/cast/sender/cast_platform_client.cc b/cast/sender/cast_platform_client.cc index c321201a..d3f39cfb 100644 --- a/cast/sender/cast_platform_client.cc +++ b/cast/sender/cast_platform_client.cc @@ -11,7 +11,7 @@ #include "absl/strings/str_cat.h" #include "cast/common/channel/virtual_connection_router.h" #include "cast/common/public/cast_socket.h" -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "util/json/json_serialization.h" #include "util/osp_logging.h" #include "util/stringprintf.h" @@ -82,12 +82,12 @@ absl::optional<int> CastPlatformClient::RequestAppAvailability( return request_id; } -void CastPlatformClient::AddOrUpdateReceiver(const ServiceInfo& device, +void CastPlatformClient::AddOrUpdateReceiver(const ReceiverInfo& device, int socket_id) { socket_id_by_device_id_[device.unique_id] = socket_id; } -void CastPlatformClient::RemoveReceiver(const ServiceInfo& device) { +void CastPlatformClient::RemoveReceiver(const ReceiverInfo& device) { auto pending_requests_it = pending_requests_by_device_id_.find(device.unique_id); if (pending_requests_it != pending_requests_by_device_id_.end()) { diff --git a/cast/sender/cast_platform_client.h b/cast/sender/cast_platform_client.h index 8ea9a99a..0acb35a7 100644 --- a/cast/sender/cast_platform_client.h +++ b/cast/sender/cast_platform_client.h @@ -20,7 +20,7 @@ namespace openscreen { namespace cast { -struct ServiceInfo; +struct ReceiverInfo; class VirtualConnectionRouter; // This class handles Cast messages that generally relate to the "platform", in @@ -48,8 +48,8 @@ class CastPlatformClient final : public CastMessageHandler { // Notifies this object about general receiver connectivity or property // changes. - void AddOrUpdateReceiver(const ServiceInfo& device, int socket_id); - void RemoveReceiver(const ServiceInfo& device); + void AddOrUpdateReceiver(const ReceiverInfo& device, int socket_id); + void RemoveReceiver(const ReceiverInfo& device); void CancelRequest(int request_id); diff --git a/cast/sender/cast_platform_client_unittest.cc b/cast/sender/cast_platform_client_unittest.cc index ae721a15..4c10ac91 100644 --- a/cast/sender/cast_platform_client_unittest.cc +++ b/cast/sender/cast_platform_client_unittest.cc @@ -9,7 +9,7 @@ #include "cast/common/channel/testing/fake_cast_socket.h" #include "cast/common/channel/testing/mock_socket_error_handler.h" #include "cast/common/channel/virtual_connection_router.h" -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "cast/sender/testing/test_helpers.h" #include "gmock/gmock.h" #include "gtest/gtest.h" @@ -51,7 +51,7 @@ class CastPlatformClientTest : public ::testing::Test { FakeClock clock_{Clock::now()}; FakeTaskRunner task_runner_{&clock_}; CastPlatformClient platform_client_{&router_, &FakeClock::now, &task_runner_}; - ServiceInfo receiver_; + ReceiverInfo receiver_; }; TEST_F(CastPlatformClientTest, AppAvailability) { diff --git a/cast/sender/public/cast_app_discovery_service.h b/cast/sender/public/cast_app_discovery_service.h index c05d66bd..f85e35b1 100644 --- a/cast/sender/public/cast_app_discovery_service.h +++ b/cast/sender/public/cast_app_discovery_service.h @@ -7,7 +7,7 @@ #include <vector> -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" namespace openscreen { namespace cast { @@ -19,7 +19,7 @@ class CastAppDiscoveryService { public: using AvailabilityCallback = std::function<void(const CastMediaSource& source, - const std::vector<ServiceInfo>& devices)>; + const std::vector<ReceiverInfo>& devices)>; class Subscription { public: diff --git a/cast/standalone_receiver/cast_service.cc b/cast/standalone_receiver/cast_service.cc index 28e6c65c..009190b0 100644 --- a/cast/standalone_receiver/cast_service.cc +++ b/cast/standalone_receiver/cast_service.cc @@ -56,17 +56,18 @@ CastService::CastService(CastService::Configuration config) : LazyDeletedDiscoveryService()), discovery_publisher_( discovery_service_ - ? MakeSerialDelete<discovery::DnsSdServicePublisher<ServiceInfo>>( + ? MakeSerialDelete< + discovery::DnsSdServicePublisher<ReceiverInfo>>( config.task_runner, discovery_service_.get(), kCastV2ServiceId, - ServiceInfoToDnsSdInstance) + ReceiverInfoToDnsSdInstance) : LazyDeletedDiscoveryPublisher()) { connection_factory_->SetListenCredentials(credentials_.tls_credentials); connection_factory_->Listen(local_endpoint_, kDefaultListenOptions); if (discovery_publisher_) { - ServiceInfo info; + ReceiverInfo info; info.port = local_endpoint_.port; info.unique_id = HexEncode(config.interface.hardware_address); info.friendly_name = config.friendly_name; diff --git a/cast/standalone_receiver/cast_service.h b/cast/standalone_receiver/cast_service.h index c210b433..57bedcbe 100644 --- a/cast/standalone_receiver/cast_service.h +++ b/cast/standalone_receiver/cast_service.h @@ -8,7 +8,7 @@ #include <memory> #include <string> -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "cast/receiver/application_agent.h" #include "cast/receiver/channel/static_credentials.h" #include "cast/receiver/public/receiver_socket_factory.h" @@ -67,7 +67,7 @@ class CastService final : public discovery::ReportingClient { private: using LazyDeletedDiscoveryService = SerialDeletePtr<discovery::DnsSdService>; using LazyDeletedDiscoveryPublisher = - SerialDeletePtr<discovery::DnsSdServicePublisher<ServiceInfo>>; + SerialDeletePtr<discovery::DnsSdServicePublisher<ReceiverInfo>>; // discovery::ReportingClient overrides. void OnFatalError(Error error) final; diff --git a/cast/standalone_sender/receiver_chooser.cc b/cast/standalone_sender/receiver_chooser.cc index 8f61326c..8a9b209c 100644 --- a/cast/standalone_sender/receiver_chooser.cc +++ b/cast/standalone_sender/receiver_chooser.cc @@ -32,9 +32,9 @@ ReceiverChooser::ReceiverChooser(const InterfaceInfo& interface, .enable_querying = true}; discovery::CreateDnsSdService(task_runner, this, std::move(config)); - watcher_ = std::make_unique<discovery::DnsSdServiceWatcher<ServiceInfo>>( - service_.get(), kCastV2ServiceId, DnsSdInstanceEndpointToServiceInfo, - [this](std::vector<std::reference_wrapper<const ServiceInfo>> all) { + watcher_ = std::make_unique<discovery::DnsSdServiceWatcher<ReceiverInfo>>( + service_.get(), kCastV2ServiceId, DnsSdInstanceEndpointToReceiverInfo, + [this](std::vector<std::reference_wrapper<const ReceiverInfo>> all) { OnDnsWatcherUpdate(std::move(all)); }); @@ -54,15 +54,15 @@ void ReceiverChooser::OnRecoverableError(Error error) { } void ReceiverChooser::OnDnsWatcherUpdate( - std::vector<std::reference_wrapper<const ServiceInfo>> all) { + std::vector<std::reference_wrapper<const ReceiverInfo>> all) { bool added_some = false; - for (const ServiceInfo& info : all) { + for (const ReceiverInfo& info : all) { if (!info.IsValid() || (!info.v4_address && !info.v6_address)) { continue; } const std::string& instance_id = info.GetInstanceId(); if (std::any_of(discovered_receivers_.begin(), discovered_receivers_.end(), - [&](const ServiceInfo& known) { + [&](const ReceiverInfo& known) { return known.GetInstanceId() == instance_id; })) { continue; @@ -87,7 +87,7 @@ void ReceiverChooser::PrintMenuAndHandleChoice() { std::cout << '\n'; for (size_t i = 0; i < discovered_receivers_.size(); ++i) { - const ServiceInfo& info = discovered_receivers_[i]; + const ReceiverInfo& info = discovered_receivers_[i]; std::cout << '[' << i << "]: " << info.friendly_name << " @ "; if (info.v6_address) { std::cout << info.v6_address; @@ -104,7 +104,7 @@ void ReceiverChooser::PrintMenuAndHandleChoice() { const auto callback_on_stack = std::move(result_callback_); if (menu_choice >= 0 && menu_choice < static_cast<int>(discovered_receivers_.size())) { - const ServiceInfo& choice = discovered_receivers_[menu_choice]; + const ReceiverInfo& choice = discovered_receivers_[menu_choice]; if (choice.v6_address) { callback_on_stack(IPEndpoint{choice.v6_address, choice.port}); } else { diff --git a/cast/standalone_sender/receiver_chooser.h b/cast/standalone_sender/receiver_chooser.h index a2fd398f..1c7fc607 100644 --- a/cast/standalone_sender/receiver_chooser.h +++ b/cast/standalone_sender/receiver_chooser.h @@ -9,7 +9,7 @@ #include <memory> #include <vector> -#include "cast/common/public/service_info.h" +#include "cast/common/public/receiver_info.h" #include "discovery/common/reporting_client.h" #include "discovery/public/dns_sd_service_factory.h" #include "discovery/public/dns_sd_service_watcher.h" @@ -40,10 +40,10 @@ class ReceiverChooser final : public discovery::ReportingClient { void OnFatalError(Error error) final; void OnRecoverableError(Error error) final; - // Called from the DnsWatcher with |all| ServiceInfos any time there is a + // Called from the DnsWatcher with |all| ReceiverInfos any time there is a // change in the set of discovered devices. void OnDnsWatcherUpdate( - std::vector<std::reference_wrapper<const ServiceInfo>> all); + std::vector<std::reference_wrapper<const ReceiverInfo>> all); // Called from |menu_alarm_| when it is a good time for the user to choose // from the discovered-so-far set of Cast Receivers. @@ -51,8 +51,8 @@ class ReceiverChooser final : public discovery::ReportingClient { ResultCallback result_callback_; SerialDeletePtr<discovery::DnsSdService> service_; - std::unique_ptr<discovery::DnsSdServiceWatcher<ServiceInfo>> watcher_; - std::vector<ServiceInfo> discovered_receivers_; + std::unique_ptr<discovery::DnsSdServiceWatcher<ReceiverInfo>> watcher_; + std::vector<ReceiverInfo> discovered_receivers_; Alarm menu_alarm_; // After there is another Cast Receiver discovered, ready to show to the user |