@@ -671,30 +671,29 @@ class app_telemetry_reporter_impl
671671{
672672public:
673673 app_telemetry_reporter_impl (std::shared_ptr<app_telemetry_meter> meter,
674- cluster_options options,
675- cluster_credentials credentials,
674+ origin& origin,
676675 asio::io_context& ctx,
677676 asio::ssl::context& tls)
678677 : meter_{ std::move (meter) }
679- , options_{ std::move (options) }
680- , credentials_{ std::move (credentials) }
678+ , origin_{ origin }
681679 , ctx_{ ctx }
682680 , tls_{ tls }
683681 , backoff_{ ctx }
684682 , exponential_backoff_calculator_{
685683 std::chrono::milliseconds{ 100 },
686- options_ .app_telemetry_backoff_interval ,
684+ origin_. options () .app_telemetry_backoff_interval ,
687685 2 /* backoff factor */ ,
688686 0.5 /* jitter factor */ ,
689687 }
690688 {
691- if (options_.enable_app_telemetry ) {
692- if (!options_.app_telemetry_endpoint .empty ()) {
693- auto url = couchbase::core::utils::string_codec::url_parse (options_.app_telemetry_endpoint );
689+ if (origin_.options ().enable_app_telemetry ) {
690+ if (!origin_.options ().app_telemetry_endpoint .empty ()) {
691+ auto url =
692+ couchbase::core::utils::string_codec::url_parse (origin_.options ().app_telemetry_endpoint );
694693 if (url.host .empty () || url.scheme != " ws" ) {
695694 CB_LOG_WARNING (
696695 " unable to use \" {}\" as a app telemetry endpoint (expected ws:// and hostname)" ,
697- options_ .app_telemetry_endpoint );
696+ origin_. options () .app_telemetry_endpoint );
698697 return ;
699698 }
700699 addresses_.push_back ({
@@ -750,12 +749,12 @@ class app_telemetry_reporter_impl
750749 }));
751750 websocket_session_ = websocket_session::start (ctx_,
752751 address,
753- credentials_ ,
752+ origin_. credentials () ,
754753 std::move (stream),
755754 meter_,
756755 shared_from_this (),
757- options_ .app_telemetry_ping_interval ,
758- options_ .app_telemetry_ping_timeout );
756+ origin_. options () .app_telemetry_ping_interval ,
757+ origin_. options () .app_telemetry_ping_timeout );
759758 retry_backoff_calculator_ = &no_backoff_calculator_;
760759 ++next_address_index_;
761760 }
@@ -813,25 +812,27 @@ class app_telemetry_reporter_impl
813812 return ;
814813 }
815814 if (self->websocket_state_ == connection_state::disconnected) {
816- self->dialer_ =
817- telemetry_dialer::dial ( next_address, self->options_ , self->ctx_ , self->tls_ , self);
815+ self->dialer_ = telemetry_dialer::dial (
816+ next_address, self->origin_ . options () , self->ctx_ , self->tls_ , self);
818817 }
819818 });
820819 return ;
821820 }
822- dialer_ = telemetry_dialer::dial (next_address, options_, ctx_, tls_, shared_from_this ());
821+ dialer_ =
822+ telemetry_dialer::dial (next_address, origin_.options (), ctx_, tls_, shared_from_this ());
823823 }
824824
825825 void update_config (topology::configuration&& config)
826826 {
827- if (!options_ .enable_app_telemetry ) {
827+ if (!origin_. options () .enable_app_telemetry ) {
828828 meter_->disable ();
829829 return ;
830830 }
831831 meter_->update_config (config);
832832
833- if (options_.app_telemetry_endpoint .empty ()) {
834- addresses_ = get_app_telemetry_addresses (config, options_.enable_tls , options_.network );
833+ if (origin_.options ().app_telemetry_endpoint .empty ()) {
834+ addresses_ = get_app_telemetry_addresses (
835+ config, origin_.options ().enable_tls , origin_.options ().network );
835836 next_address_index_ = 0 ;
836837 }
837838
@@ -841,15 +842,14 @@ class app_telemetry_reporter_impl
841842 meter_->enable ();
842843 if (websocket_state_ == connection_state::disconnected) {
843844 dialer_ = telemetry_dialer::dial (
844- addresses_[next_address_index_], options_ , ctx_, tls_, shared_from_this ());
845+ addresses_[next_address_index_], origin_. options () , ctx_, tls_, shared_from_this ());
845846 }
846847 }
847848 }
848849
849850private:
850851 std::shared_ptr<app_telemetry_meter> meter_;
851- cluster_options options_;
852- cluster_credentials credentials_;
852+ origin& origin_;
853853 asio::io_context& ctx_;
854854 asio::ssl::context& tls_;
855855 asio::steady_timer backoff_;
@@ -868,13 +868,10 @@ class app_telemetry_reporter_impl
868868};
869869
870870app_telemetry_reporter::app_telemetry_reporter (std::shared_ptr<app_telemetry_meter> meter,
871- const cluster_options& options,
872- const cluster_credentials& credentials,
871+ origin& origin,
873872 asio::io_context& ctx,
874873 asio::ssl::context& tls)
875- : impl_{
876- std::make_shared<app_telemetry_reporter_impl>(std::move (meter), options, credentials, ctx, tls)
877- }
874+ : impl_{ std::make_shared<app_telemetry_reporter_impl>(std::move (meter), origin, ctx, tls) }
878875{
879876}
880877
0 commit comments