@@ -377,7 +377,7 @@ ClusterManagerImpl::ClusterManagerImpl(
377377 }
378378
379379 // Now that the async-client manager is set, the xDS-Manager can be initialized.
380- absl::Status status = xds_manager_.initialize (this );
380+ absl::Status status = xds_manager_.initialize (bootstrap, this );
381381 SET_AND_RETURN_IF_NOT_OK (status, creation_status);
382382
383383 // TODO(adisuissa): refactor and move the following data members to the
@@ -391,18 +391,9 @@ ClusterManagerImpl::ClusterManagerImpl(
391391 validation_context.dynamicValidationVisitor (), api, main_thread_dispatcher);
392392 }
393393
394- if (bootstrap.has_xds_config_tracker_extension ()) {
395- auto & tracer_factory = Config::Utility::getAndCheckFactory<Config::XdsConfigTrackerFactory>(
396- bootstrap.xds_config_tracker_extension ());
397- xds_config_tracker_ = tracer_factory.createXdsConfigTracker (
398- bootstrap.xds_config_tracker_extension ().typed_config (),
399- validation_context.dynamicValidationVisitor (), api, main_thread_dispatcher);
400- }
401-
402394 subscription_factory_ = std::make_unique<Config::SubscriptionFactoryImpl>(
403395 local_info, main_thread_dispatcher, *this , validation_context.dynamicValidationVisitor (), api,
404- server, makeOptRefFromPtr (xds_resources_delegate_.get ()),
405- makeOptRefFromPtr (xds_config_tracker_.get ()));
396+ server, makeOptRefFromPtr (xds_resources_delegate_.get ()), xds_manager_.xdsConfigTracker ());
406397}
407398
408399absl::Status
@@ -501,7 +492,7 @@ ClusterManagerImpl::initialize(const envoy::config::bootstrap::v3::Bootstrap& bo
501492 factory->create (std::move (primary_client), std::move (failover_client), dispatcher_,
502493 random_, *stats_.rootScope (), dyn_resources.ads_config (), local_info_,
503494 std::move (custom_config_validators), std::move (backoff_strategy),
504- makeOptRefFromPtr (xds_config_tracker_. get () ), {}, use_eds_cache);
495+ xds_manager_. xdsConfigTracker ( ), {}, use_eds_cache);
505496 } else {
506497 absl::Status status = Config::Utility::checkTransportVersion (dyn_resources.ads_config ());
507498 RETURN_IF_NOT_OK (status);
@@ -531,11 +522,11 @@ ClusterManagerImpl::initialize(const envoy::config::bootstrap::v3::Bootstrap& bo
531522 Grpc::RawAsyncClientPtr failover_client;
532523 RETURN_IF_NOT_OK (createClients (factory_primary_or_error.value (), factory_failover,
533524 primary_client, failover_client));
534- ads_mux_ = factory-> create (
535- std::move (primary_client), std::move (failover_client), dispatcher_, random_ ,
536- *stats_.rootScope (), dyn_resources.ads_config (), local_info_,
537- std::move (custom_config_validators), std::move (backoff_strategy),
538- makeOptRefFromPtr (xds_config_tracker_. get () ), xds_delegate_opt_ref, use_eds_cache);
525+ ads_mux_ =
526+ factory-> create ( std::move (primary_client), std::move (failover_client), dispatcher_,
527+ random_, *stats_.rootScope (), dyn_resources.ads_config (), local_info_,
528+ std::move (custom_config_validators), std::move (backoff_strategy),
529+ xds_manager_. xdsConfigTracker ( ), xds_delegate_opt_ref, use_eds_cache);
539530 }
540531 } else {
541532 ads_mux_ = std::make_unique<Config::NullGrpcMuxImpl>();
0 commit comments