bool SnapshotImpl::deprecatedFeatureEnabled(absl::string_view key, bool default_value) const {
uint64_t SnapshotImpl::getInteger(absl::string_view key, uint64_t default_value) const {
if (entry.double_value_ >= 0 && entry.double_value_ <= std::numeric_limits<uint64_t>::max()) {
absl::Status AdminLayer::mergeValues(const absl::node_hash_map<std::string, std::string>& values) {
return absl::InvalidArgumentError(absl::StrCat("Walk recursion depth exceeded ", MaxWalkDepth));
absl::Status ProtoLayer::walkProtoValue(const Protobuf::Value& v, const std::string& prefix) {
if (hasRuntimePrefix(prefix) && !isRuntimeFeature(prefix) && !isLegacyRuntimeFeature(prefix)) {
std::unique_ptr<LoaderImpl>(new LoaderImpl(tls, config, local_info, store, generator, api));
auto subscription_or_error = parent_.cm_->subscriptionFactory().subscriptionFromConfigSource(
config_source_, Grpc::Common::typeUrl(resource_name), *stats_scope_, *this, resource_decoder_,
RtdsSubscription::onConfigUpdate(const std::vector<Config::DecodedResourceRef>& added_resources,
// This is a singleton subscription, so we can only have the subscribed resource added or removed,
"snapshot can only be called from a worker thread or after the main thread is registered");
absl::Status LoaderImpl::mergeValues(const absl::node_hash_map<std::string, std::string>& values) {
void LoaderImpl::countDeprecatedFeatureUse() const { countDeprecatedFeatureUseInternal(stats_); }