LCOV - code coverage report
Current view: top level - source/common/protobuf - create_reflectable_message.cc (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 3 3 100.0 %
Date: 2024-01-05 06:35:25 Functions: 1 1 100.0 %

          Line data    Source code
       1             : #include "source/common/protobuf/utility.h"
       2             : 
       3             : #if defined(ENVOY_ENABLE_FULL_PROTOS)
       4             : 
       5             : namespace Envoy {
       6     1798094 : Protobuf::ReflectableMessage createReflectableMessage(const Protobuf::Message& message) {
       7     1798094 :   return const_cast<Protobuf::ReflectableMessage>(&message);
       8     1798094 : }
       9             : } // namespace Envoy
      10             : 
      11             : #else
      12             : 
      13             : #include "bazel/cc_proto_descriptor_library/create_dynamic_message.h"
      14             : #include "bazel/cc_proto_descriptor_library/text_format_transcoder.h"
      15             : #include "bazel/cc_proto_descriptor_library/file_descriptor_info.h"
      16             : 
      17             : #include "envoy/config/core/v3/base_descriptor.pb.h"
      18             : #include "envoy/admin/v3/certs_descriptor.pb.h"
      19             : #include "envoy/admin/v3/clusters_descriptor.pb.h"
      20             : #include "envoy/admin/v3/config_dump_descriptor.pb.h"
      21             : #include "envoy/admin/v3/config_dump_shared_descriptor.pb.h"
      22             : #include "envoy/admin/v3/init_dump_descriptor.pb.h"
      23             : #include "envoy/admin/v3/listeners_descriptor.pb.h"
      24             : #include "envoy/admin/v3/memory_descriptor.pb.h"
      25             : #include "envoy/admin/v3/metrics_descriptor.pb.h"
      26             : #include "envoy/admin/v3/mutex_stats_descriptor.pb.h"
      27             : #include "envoy/admin/v3/server_info_descriptor.pb.h"
      28             : #include "envoy/admin/v3/tap_descriptor.pb.h"
      29             : #include "envoy/annotations/deprecation_descriptor.pb.h"
      30             : #include "envoy/annotations/resource_descriptor.pb.h"
      31             : #include "envoy/config/accesslog/v3/accesslog_descriptor.pb.h"
      32             : #include "envoy/config/bootstrap/v3/bootstrap_descriptor.pb.h"
      33             : #include "envoy/config/cluster/v3/circuit_breaker_descriptor.pb.h"
      34             : #include "envoy/config/cluster/v3/cluster_descriptor.pb.h"
      35             : #include "envoy/config/cluster/v3/filter_descriptor.pb.h"
      36             : #include "envoy/config/cluster/v3/outlier_detection_descriptor.pb.h"
      37             : #include "envoy/config/common/key_value/v3/config_descriptor.pb.h"
      38             : #include "envoy/config/common/matcher/v3/matcher_descriptor.pb.h"
      39             : #include "envoy/config/core/v3/address_descriptor.pb.h"
      40             : #include "envoy/config/core/v3/backoff_descriptor.pb.h"
      41             : #include "envoy/config/core/v3/base_descriptor.pb.h"
      42             : #include "envoy/config/core/v3/config_source_descriptor.pb.h"
      43             : #include "envoy/config/core/v3/event_service_config_descriptor.pb.h"
      44             : #include "envoy/config/core/v3/extension_descriptor.pb.h"
      45             : #include "envoy/config/core/v3/grpc_method_list_descriptor.pb.h"
      46             : #include "envoy/config/core/v3/grpc_service_descriptor.pb.h"
      47             : #include "envoy/config/core/v3/health_check_descriptor.pb.h"
      48             : #include "envoy/config/core/v3/http_uri_descriptor.pb.h"
      49             : #include "envoy/config/core/v3/protocol_descriptor.pb.h"
      50             : #include "envoy/config/core/v3/proxy_protocol_descriptor.pb.h"
      51             : #include "envoy/config/core/v3/resolver_descriptor.pb.h"
      52             : #include "envoy/config/core/v3/socket_option_descriptor.pb.h"
      53             : #include "envoy/config/core/v3/substitution_format_string_descriptor.pb.h"
      54             : #include "envoy/config/core/v3/udp_socket_config_descriptor.pb.h"
      55             : #include "envoy/config/endpoint/v3/endpoint_descriptor.pb.h"
      56             : #include "envoy/config/endpoint/v3/endpoint_components_descriptor.pb.h"
      57             : #include "envoy/config/endpoint/v3/load_report_descriptor.pb.h"
      58             : #include "envoy/config/listener/v3/api_listener_descriptor.pb.h"
      59             : #include "envoy/config/listener/v3/listener_descriptor.pb.h"
      60             : #include "envoy/config/listener/v3/listener_components_descriptor.pb.h"
      61             : #include "envoy/config/listener/v3/quic_config_descriptor.pb.h"
      62             : #include "envoy/config/listener/v3/udp_listener_config_descriptor.pb.h"
      63             : #include "envoy/config/metrics/v3/metrics_service_descriptor.pb.h"
      64             : #include "envoy/config/metrics/v3/stats_descriptor.pb.h"
      65             : #include "envoy/config/overload/v3/overload_descriptor.pb.h"
      66             : #include "envoy/config/route/v3/route_descriptor.pb.h"
      67             : #include "envoy/config/route/v3/route_components_descriptor.pb.h"
      68             : #include "envoy/config/route/v3/scoped_route_descriptor.pb.h"
      69             : #include "envoy/config/trace/v3/datadog_descriptor.pb.h"
      70             : #include "envoy/config/trace/v3/dynamic_ot_descriptor.pb.h"
      71             : #include "envoy/config/trace/v3/http_tracer_descriptor.pb.h"
      72             : #include "envoy/config/trace/v3/lightstep_descriptor.pb.h"
      73             : #include "envoy/config/trace/v3/opencensus_descriptor.pb.h"
      74             : #include "envoy/config/trace/v3/opentelemetry_descriptor.pb.h"
      75             : #include "envoy/config/trace/v3/service_descriptor.pb.h"
      76             : #include "envoy/config/trace/v3/skywalking_descriptor.pb.h"
      77             : #include "envoy/config/trace/v3/trace_descriptor.pb.h"
      78             : #include "envoy/config/trace/v3/xray_descriptor.pb.h"
      79             : #include "envoy/config/trace/v3/zipkin_descriptor.pb.h"
      80             : #include "envoy/config/upstream/local_address_selector/v3/default_local_address_selector_descriptor.pb.h"
      81             : #include "envoy/data/accesslog/v3/accesslog_descriptor.pb.h"
      82             : #include "envoy/data/cluster/v3/outlier_detection_event_descriptor.pb.h"
      83             : #include "envoy/data/core/v3/health_check_event_descriptor.pb.h"
      84             : #include "envoy/extensions/access_loggers/file/v3/file_descriptor.pb.h"
      85             : #include "envoy/extensions/access_loggers/stream/v3/stream_descriptor.pb.h"
      86             : #include "envoy/extensions/clusters/dynamic_forward_proxy/v3/cluster_descriptor.pb.h"
      87             : #include "envoy/extensions/common/dynamic_forward_proxy/v3/dns_cache_descriptor.pb.h"
      88             : #include "envoy/extensions/common/matching/v3/extension_matcher_descriptor.pb.h"
      89             : #include "envoy/extensions/compression/brotli/compressor/v3/brotli_descriptor.pb.h"
      90             : #include "envoy/extensions/compression/brotli/decompressor/v3/brotli_descriptor.pb.h"
      91             : #include "envoy/extensions/compression/gzip/compressor/v3/gzip_descriptor.pb.h"
      92             : #include "envoy/extensions/compression/gzip/decompressor/v3/gzip_descriptor.pb.h"
      93             : #include "envoy/extensions/early_data/v3/default_early_data_policy_descriptor.pb.h"
      94             : #include "envoy/extensions/filters/common/dependency/v3/dependency_descriptor.pb.h"
      95             : #include "envoy/extensions/filters/common/matcher/action/v3/skip_action_descriptor.pb.h"
      96             : #include "envoy/extensions/filters/http/alternate_protocols_cache/v3/alternate_protocols_cache_descriptor.pb.h"
      97             : #include "envoy/extensions/filters/http/buffer/v3/buffer_descriptor.pb.h"
      98             : #include "envoy/extensions/filters/http/composite/v3/composite_descriptor.pb.h"
      99             : #include "envoy/extensions/filters/http/compressor/v3/compressor_descriptor.pb.h"
     100             : #include "envoy/extensions/filters/http/decompressor/v3/decompressor_descriptor.pb.h"
     101             : #include "envoy/extensions/filters/http/dynamic_forward_proxy/v3/dynamic_forward_proxy_descriptor.pb.h"
     102             : #include "envoy/extensions/filters/http/health_check/v3/health_check_descriptor.pb.h"
     103             : #include "envoy/extensions/filters/http/on_demand/v3/on_demand_descriptor.pb.h"
     104             : #include "envoy/extensions/filters/http/router/v3/router_descriptor.pb.h"
     105             : #include "envoy/extensions/filters/http/upstream_codec/v3/upstream_codec_descriptor.pb.h"
     106             : #include "envoy/extensions/filters/listener/proxy_protocol/v3/proxy_protocol_descriptor.pb.h"
     107             : #include "envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager_descriptor.pb.h"
     108             : #include "envoy/extensions/filters/udp/dns_filter/v3/dns_filter_descriptor.pb.h"
     109             : #include "envoy/extensions/http/header_formatters/preserve_case/v3/preserve_case_descriptor.pb.h"
     110             : #include "envoy/extensions/http/header_validators/envoy_default/v3/header_validator_descriptor.pb.h"
     111             : #include "envoy/extensions/http/original_ip_detection/xff/v3/xff_descriptor.pb.h"
     112             : #include "envoy/extensions/load_balancing_policies/common/v3/common_descriptor.pb.h"
     113             : #include "envoy/extensions/load_balancing_policies/cluster_provided/v3/cluster_provided_descriptor.pb.h"
     114             : #include "envoy/extensions/load_balancing_policies/least_request/v3/least_request_descriptor.pb.h"
     115             : #include "envoy/extensions/load_balancing_policies/random/v3/random_descriptor.pb.h"
     116             : #include "envoy/extensions/load_balancing_policies/round_robin/v3/round_robin_descriptor.pb.h"
     117             : #include "envoy/extensions/matching/common_inputs/network/v3/network_inputs_descriptor.pb.h"
     118             : #include "envoy/extensions/network/dns_resolver/apple/v3/apple_dns_resolver_descriptor.pb.h"
     119             : #include "envoy/extensions/network/dns_resolver/cares/v3/cares_dns_resolver_descriptor.pb.h"
     120             : #include "envoy/extensions/network/dns_resolver/getaddrinfo/v3/getaddrinfo_dns_resolver_descriptor.pb.h"
     121             : #include "envoy/extensions/network/socket_interface/v3/default_socket_interface_descriptor.pb.h"
     122             : #include "envoy/extensions/path/match/uri_template/v3/uri_template_match_descriptor.pb.h"
     123             : #include "envoy/extensions/path/rewrite/uri_template/v3/uri_template_rewrite_descriptor.pb.h"
     124             : #include "envoy/extensions/quic/connection_id_generator/v3/envoy_deterministic_connection_id_generator_descriptor.pb.h"
     125             : #include "envoy/extensions/quic/crypto_stream/v3/crypto_stream_descriptor.pb.h"
     126             : #include "envoy/extensions/quic/proof_source/v3/proof_source_descriptor.pb.h"
     127             : #include "envoy/extensions/regex_engines/v3/google_re2_descriptor.pb.h"
     128             : #include "envoy/extensions/request_id/uuid/v3/uuid_descriptor.pb.h"
     129             : #include "envoy/extensions/transport_sockets/http_11_proxy/v3/upstream_http_11_connect_descriptor.pb.h"
     130             : #include "envoy/extensions/transport_sockets/quic/v3/quic_transport_descriptor.pb.h"
     131             : #include "envoy/extensions/transport_sockets/raw_buffer/v3/raw_buffer_descriptor.pb.h"
     132             : #include "envoy/extensions/transport_sockets/tls/v3/cert_descriptor.pb.h"
     133             : #include "envoy/extensions/transport_sockets/tls/v3/common_descriptor.pb.h"
     134             : #include "envoy/extensions/transport_sockets/tls/v3/secret_descriptor.pb.h"
     135             : #include "envoy/extensions/transport_sockets/tls/v3/tls_descriptor.pb.h"
     136             : #include "envoy/extensions/transport_sockets/tls/v3/tls_spiffe_validator_config_descriptor.pb.h"
     137             : #include "envoy/extensions/udp_packet_writer/v3/udp_default_writer_factory_descriptor.pb.h"
     138             : #include "envoy/extensions/udp_packet_writer/v3/udp_gso_batch_writer_factory_descriptor.pb.h"
     139             : #include "envoy/extensions/upstreams/http/generic/v3/generic_connection_pool_descriptor.pb.h"
     140             : #include "envoy/extensions/upstreams/http/v3/http_protocol_options_descriptor.pb.h"
     141             : #include "envoy/extensions/upstreams/tcp/v3/tcp_protocol_options_descriptor.pb.h"
     142             : #include "envoy/service/cluster/v3/cds_descriptor.pb.h"
     143             : #include "envoy/service/discovery/v3/ads_descriptor.pb.h"
     144             : #include "envoy/service/discovery/v3/discovery_descriptor.pb.h"
     145             : #include "envoy/service/endpoint/v3/eds_descriptor.pb.h"
     146             : #include "envoy/service/endpoint/v3/leds_descriptor.pb.h"
     147             : #include "envoy/service/extension/v3/config_discovery_descriptor.pb.h"
     148             : #include "envoy/service/health/v3/hds_descriptor.pb.h"
     149             : #include "envoy/service/listener/v3/lds_descriptor.pb.h"
     150             : #include "envoy/service/load_stats/v3/lrs_descriptor.pb.h"
     151             : #include "envoy/service/metrics/v3/metrics_service_descriptor.pb.h"
     152             : #include "envoy/service/ratelimit/v3/rls_descriptor.pb.h"
     153             : #include "envoy/service/route/v3/rds_descriptor.pb.h"
     154             : #include "envoy/service/route/v3/srds_descriptor.pb.h"
     155             : #include "envoy/service/runtime/v3/rtds_descriptor.pb.h"
     156             : #include "envoy/service/secret/v3/sds_descriptor.pb.h"
     157             : #include "envoy/type/matcher/metadata_descriptor.pb.h"
     158             : #include "envoy/type/matcher/node_descriptor.pb.h"
     159             : #include "envoy/type/matcher/number_descriptor.pb.h"
     160             : #include "envoy/type/matcher/path_descriptor.pb.h"
     161             : #include "envoy/type/matcher/regex_descriptor.pb.h"
     162             : #include "envoy/type/matcher/string_descriptor.pb.h"
     163             : #include "envoy/type/matcher/struct_descriptor.pb.h"
     164             : #include "envoy/type/matcher/value_descriptor.pb.h"
     165             : #include "envoy/type/matcher/v3/filter_state_descriptor.pb.h"
     166             : #include "envoy/type/matcher/v3/http_inputs_descriptor.pb.h"
     167             : #include "envoy/type/matcher/v3/metadata_descriptor.pb.h"
     168             : #include "envoy/type/matcher/v3/node_descriptor.pb.h"
     169             : #include "envoy/type/matcher/v3/number_descriptor.pb.h"
     170             : #include "envoy/type/matcher/v3/path_descriptor.pb.h"
     171             : #include "envoy/type/matcher/v3/regex_descriptor.pb.h"
     172             : #include "envoy/type/matcher/v3/status_code_input_descriptor.pb.h"
     173             : #include "envoy/type/matcher/v3/string_descriptor.pb.h"
     174             : #include "envoy/type/matcher/v3/struct_descriptor.pb.h"
     175             : #include "envoy/type/matcher/v3/value_descriptor.pb.h"
     176             : #include "envoy/type/metadata/v3/metadata_descriptor.pb.h"
     177             : #include "envoy/type/tracing/v3/custom_tag_descriptor.pb.h"
     178             : #include "envoy/type/v3/hash_policy_descriptor.pb.h"
     179             : #include "envoy/type/v3/http_descriptor.pb.h"
     180             : #include "envoy/type/v3/http_status_descriptor.pb.h"
     181             : #include "envoy/type/v3/percent_descriptor.pb.h"
     182             : #include "envoy/type/v3/range_descriptor.pb.h"
     183             : #include "envoy/type/v3/ratelimit_strategy_descriptor.pb.h"
     184             : #include "envoy/type/v3/ratelimit_unit_descriptor.pb.h"
     185             : #include "envoy/type/v3/semantic_version_descriptor.pb.h"
     186             : #include "envoy/type/v3/token_bucket_descriptor.pb.h"
     187             : #include "envoy/watchdog/v3/abort_action_descriptor.pb.h"
     188             : 
     189             : using cc_proto_descriptor_library::TextFormatTranscoder;
     190             : using cc_proto_descriptor_library::internal::FileDescriptorInfo;
     191             : 
     192             : namespace {
     193             : 
     194             : std::unique_ptr<TextFormatTranscoder> createTranscoder() {
     195             :   auto transcoder = std::make_unique<TextFormatTranscoder>(/*allow_global_fallback=*/false);
     196             :   std::vector<FileDescriptorInfo> file_descriptors = {
     197             :       protobuf::reflection::envoy_config_core_v3_base::kFileDescriptorInfo,
     198             :       protobuf::reflection::envoy_admin_v3_certs::kFileDescriptorInfo,
     199             :       protobuf::reflection::envoy_admin_v3_clusters::kFileDescriptorInfo,
     200             :       protobuf::reflection::envoy_admin_v3_config_dump::kFileDescriptorInfo,
     201             :       protobuf::reflection::envoy_admin_v3_config_dump_shared::kFileDescriptorInfo,
     202             :       protobuf::reflection::envoy_admin_v3_init_dump::kFileDescriptorInfo,
     203             :       protobuf::reflection::envoy_admin_v3_listeners::kFileDescriptorInfo,
     204             :       protobuf::reflection::envoy_admin_v3_memory::kFileDescriptorInfo,
     205             :       protobuf::reflection::envoy_admin_v3_metrics::kFileDescriptorInfo,
     206             :       protobuf::reflection::envoy_admin_v3_mutex_stats::kFileDescriptorInfo,
     207             :       protobuf::reflection::envoy_admin_v3_server_info::kFileDescriptorInfo,
     208             :       protobuf::reflection::envoy_admin_v3_tap::kFileDescriptorInfo,
     209             :       protobuf::reflection::envoy_annotations_deprecation::kFileDescriptorInfo,
     210             :       protobuf::reflection::envoy_annotations_resource::kFileDescriptorInfo,
     211             :       protobuf::reflection::envoy_config_accesslog_v3_accesslog::kFileDescriptorInfo,
     212             :       protobuf::reflection::envoy_config_bootstrap_v3_bootstrap::kFileDescriptorInfo,
     213             :       protobuf::reflection::envoy_config_cluster_v3_circuit_breaker::kFileDescriptorInfo,
     214             :       protobuf::reflection::envoy_config_cluster_v3_cluster::kFileDescriptorInfo,
     215             :       protobuf::reflection::envoy_config_cluster_v3_filter::kFileDescriptorInfo,
     216             :       protobuf::reflection::envoy_config_cluster_v3_outlier_detection::kFileDescriptorInfo,
     217             :       protobuf::reflection::envoy_config_common_key_value_v3_config::kFileDescriptorInfo,
     218             :       protobuf::reflection::envoy_config_common_matcher_v3_matcher::kFileDescriptorInfo,
     219             :       protobuf::reflection::envoy_config_core_v3_address::kFileDescriptorInfo,
     220             :       protobuf::reflection::envoy_config_core_v3_backoff::kFileDescriptorInfo,
     221             :       protobuf::reflection::envoy_config_core_v3_base::kFileDescriptorInfo,
     222             :       protobuf::reflection::envoy_config_core_v3_config_source::kFileDescriptorInfo,
     223             :       protobuf::reflection::envoy_config_core_v3_event_service_config::kFileDescriptorInfo,
     224             :       protobuf::reflection::envoy_config_core_v3_extension::kFileDescriptorInfo,
     225             :       protobuf::reflection::envoy_config_core_v3_grpc_method_list::kFileDescriptorInfo,
     226             :       protobuf::reflection::envoy_config_core_v3_grpc_service::kFileDescriptorInfo,
     227             :       protobuf::reflection::envoy_config_core_v3_health_check::kFileDescriptorInfo,
     228             :       protobuf::reflection::envoy_config_core_v3_http_uri::kFileDescriptorInfo,
     229             :       protobuf::reflection::envoy_config_core_v3_protocol::kFileDescriptorInfo,
     230             :       protobuf::reflection::envoy_config_core_v3_proxy_protocol::kFileDescriptorInfo,
     231             :       protobuf::reflection::envoy_config_core_v3_resolver::kFileDescriptorInfo,
     232             :       protobuf::reflection::envoy_config_core_v3_socket_option::kFileDescriptorInfo,
     233             :       protobuf::reflection::envoy_config_core_v3_substitution_format_string::kFileDescriptorInfo,
     234             :       protobuf::reflection::envoy_config_core_v3_udp_socket_config::kFileDescriptorInfo,
     235             :       protobuf::reflection::envoy_config_endpoint_v3_endpoint::kFileDescriptorInfo,
     236             :       protobuf::reflection::envoy_config_endpoint_v3_endpoint_components::kFileDescriptorInfo,
     237             :       protobuf::reflection::envoy_config_endpoint_v3_load_report::kFileDescriptorInfo,
     238             :       protobuf::reflection::envoy_config_listener_v3_api_listener::kFileDescriptorInfo,
     239             :       protobuf::reflection::envoy_config_listener_v3_listener::kFileDescriptorInfo,
     240             :       protobuf::reflection::envoy_config_listener_v3_listener_components::kFileDescriptorInfo,
     241             :       protobuf::reflection::envoy_config_listener_v3_quic_config::kFileDescriptorInfo,
     242             :       protobuf::reflection::envoy_config_listener_v3_udp_listener_config::kFileDescriptorInfo,
     243             :       protobuf::reflection::envoy_config_metrics_v3_metrics_service::kFileDescriptorInfo,
     244             :       protobuf::reflection::envoy_config_metrics_v3_stats::kFileDescriptorInfo,
     245             :       protobuf::reflection::envoy_config_overload_v3_overload::kFileDescriptorInfo,
     246             :       protobuf::reflection::envoy_config_route_v3_route::kFileDescriptorInfo,
     247             :       protobuf::reflection::envoy_config_route_v3_route_components::kFileDescriptorInfo,
     248             :       protobuf::reflection::envoy_config_route_v3_scoped_route::kFileDescriptorInfo,
     249             :       protobuf::reflection::envoy_config_trace_v3_datadog::kFileDescriptorInfo,
     250             :       protobuf::reflection::envoy_config_trace_v3_dynamic_ot::kFileDescriptorInfo,
     251             :       protobuf::reflection::envoy_config_trace_v3_http_tracer::kFileDescriptorInfo,
     252             :       protobuf::reflection::envoy_config_trace_v3_lightstep::kFileDescriptorInfo,
     253             :       protobuf::reflection::envoy_config_trace_v3_opencensus::kFileDescriptorInfo,
     254             :       protobuf::reflection::envoy_config_trace_v3_opentelemetry::kFileDescriptorInfo,
     255             :       protobuf::reflection::envoy_config_trace_v3_service::kFileDescriptorInfo,
     256             :       protobuf::reflection::envoy_config_trace_v3_skywalking::kFileDescriptorInfo,
     257             :       protobuf::reflection::envoy_config_trace_v3_trace::kFileDescriptorInfo,
     258             :       protobuf::reflection::envoy_config_trace_v3_xray::kFileDescriptorInfo,
     259             :       protobuf::reflection::envoy_config_trace_v3_zipkin::kFileDescriptorInfo,
     260             :       protobuf::reflection::
     261             :           envoy_config_upstream_local_address_selector_v3_default_local_address_selector::
     262             :               kFileDescriptorInfo,
     263             :       protobuf::reflection::envoy_data_accesslog_v3_accesslog::kFileDescriptorInfo,
     264             :       protobuf::reflection::envoy_data_cluster_v3_outlier_detection_event::kFileDescriptorInfo,
     265             :       protobuf::reflection::envoy_data_core_v3_health_check_event::kFileDescriptorInfo,
     266             :       protobuf::reflection::envoy_extensions_access_loggers_file_v3_file::kFileDescriptorInfo,
     267             :       protobuf::reflection::envoy_extensions_access_loggers_stream_v3_stream::kFileDescriptorInfo,
     268             :       protobuf::reflection::envoy_extensions_clusters_dynamic_forward_proxy_v3_cluster::
     269             :           kFileDescriptorInfo,
     270             :       protobuf::reflection::envoy_extensions_common_dynamic_forward_proxy_v3_dns_cache::
     271             :           kFileDescriptorInfo,
     272             :       protobuf::reflection::envoy_extensions_common_matching_v3_extension_matcher::
     273             :           kFileDescriptorInfo,
     274             :       protobuf::reflection::envoy_extensions_compression_brotli_compressor_v3_brotli::
     275             :           kFileDescriptorInfo,
     276             :       protobuf::reflection::envoy_extensions_compression_brotli_decompressor_v3_brotli::
     277             :           kFileDescriptorInfo,
     278             :       protobuf::reflection::envoy_extensions_compression_gzip_compressor_v3_gzip::
     279             :           kFileDescriptorInfo,
     280             :       protobuf::reflection::envoy_extensions_compression_gzip_decompressor_v3_gzip::
     281             :           kFileDescriptorInfo,
     282             :       protobuf::reflection::envoy_extensions_early_data_v3_default_early_data_policy::
     283             :           kFileDescriptorInfo,
     284             :       protobuf::reflection::envoy_extensions_filters_common_dependency_v3_dependency::
     285             :           kFileDescriptorInfo,
     286             :       protobuf::reflection::envoy_extensions_filters_common_matcher_action_v3_skip_action::
     287             :           kFileDescriptorInfo,
     288             :       protobuf::reflection::
     289             :           envoy_extensions_filters_http_alternate_protocols_cache_v3_alternate_protocols_cache::
     290             :               kFileDescriptorInfo,
     291             :       protobuf::reflection::envoy_extensions_filters_http_buffer_v3_buffer::kFileDescriptorInfo,
     292             :       protobuf::reflection::envoy_extensions_filters_http_composite_v3_composite::
     293             :           kFileDescriptorInfo,
     294             :       protobuf::reflection::envoy_extensions_filters_http_compressor_v3_compressor::
     295             :           kFileDescriptorInfo,
     296             :       protobuf::reflection::envoy_extensions_filters_http_decompressor_v3_decompressor::
     297             :           kFileDescriptorInfo,
     298             :       protobuf::reflection::
     299             :           envoy_extensions_filters_http_dynamic_forward_proxy_v3_dynamic_forward_proxy::
     300             :               kFileDescriptorInfo,
     301             :       protobuf::reflection::envoy_extensions_filters_http_health_check_v3_health_check::
     302             :           kFileDescriptorInfo,
     303             :       protobuf::reflection::envoy_extensions_filters_http_on_demand_v3_on_demand::
     304             :           kFileDescriptorInfo,
     305             :       protobuf::reflection::envoy_extensions_filters_http_router_v3_router::kFileDescriptorInfo,
     306             :       protobuf::reflection::envoy_extensions_filters_http_upstream_codec_v3_upstream_codec::
     307             :           kFileDescriptorInfo,
     308             :       protobuf::reflection::envoy_extensions_filters_listener_proxy_protocol_v3_proxy_protocol::
     309             :           kFileDescriptorInfo,
     310             :       protobuf::reflection::
     311             :           envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager::
     312             :               kFileDescriptorInfo,
     313             :       protobuf::reflection::envoy_extensions_filters_udp_dns_filter_v3_dns_filter::
     314             :           kFileDescriptorInfo,
     315             :       protobuf::reflection::envoy_extensions_http_header_formatters_preserve_case_v3_preserve_case::
     316             :           kFileDescriptorInfo,
     317             :       protobuf::reflection::
     318             :           envoy_extensions_http_header_validators_envoy_default_v3_header_validator::
     319             :               kFileDescriptorInfo,
     320             :       protobuf::reflection::envoy_extensions_http_original_ip_detection_xff_v3_xff::
     321             :           kFileDescriptorInfo,
     322             :       protobuf::reflection::
     323             :           envoy_extensions_load_balancing_policies_cluster_provided_v3_cluster_provided::
     324             :               kFileDescriptorInfo,
     325             :       protobuf::reflection::envoy_extensions_load_balancing_policies_common_v3_common::
     326             :           kFileDescriptorInfo,
     327             :       protobuf::reflection::
     328             :           envoy_extensions_load_balancing_policies_least_request_v3_least_request::
     329             :               kFileDescriptorInfo,
     330             :       protobuf::reflection::envoy_extensions_load_balancing_policies_random_v3_random::
     331             :           kFileDescriptorInfo,
     332             :       protobuf::reflection::envoy_extensions_load_balancing_policies_round_robin_v3_round_robin::
     333             :           kFileDescriptorInfo,
     334             :       protobuf::reflection::envoy_extensions_matching_common_inputs_network_v3_network_inputs::
     335             :           kFileDescriptorInfo,
     336             :       protobuf::reflection::envoy_extensions_network_dns_resolver_apple_v3_apple_dns_resolver::
     337             :           kFileDescriptorInfo,
     338             :       protobuf::reflection::envoy_extensions_network_dns_resolver_cares_v3_cares_dns_resolver::
     339             :           kFileDescriptorInfo,
     340             :       protobuf::reflection::
     341             :           envoy_extensions_network_dns_resolver_getaddrinfo_v3_getaddrinfo_dns_resolver::
     342             :               kFileDescriptorInfo,
     343             :       protobuf::reflection::envoy_extensions_network_socket_interface_v3_default_socket_interface::
     344             :           kFileDescriptorInfo,
     345             :       protobuf::reflection::envoy_extensions_path_match_uri_template_v3_uri_template_match::
     346             :           kFileDescriptorInfo,
     347             :       protobuf::reflection::envoy_extensions_path_rewrite_uri_template_v3_uri_template_rewrite::
     348             :           kFileDescriptorInfo,
     349             :       protobuf::reflection::
     350             :           envoy_extensions_quic_connection_id_generator_v3_envoy_deterministic_connection_id_generator::
     351             :               kFileDescriptorInfo,
     352             :       protobuf::reflection::envoy_extensions_quic_crypto_stream_v3_crypto_stream::
     353             :           kFileDescriptorInfo,
     354             :       protobuf::reflection::envoy_extensions_quic_proof_source_v3_proof_source::kFileDescriptorInfo,
     355             :       protobuf::reflection::envoy_extensions_regex_engines_v3_google_re2::kFileDescriptorInfo,
     356             :       protobuf::reflection::envoy_extensions_request_id_uuid_v3_uuid::kFileDescriptorInfo,
     357             :       protobuf::reflection::
     358             :           envoy_extensions_transport_sockets_http_11_proxy_v3_upstream_http_11_connect::
     359             :               kFileDescriptorInfo,
     360             :       protobuf::reflection::envoy_extensions_transport_sockets_quic_v3_quic_transport::
     361             :           kFileDescriptorInfo,
     362             :       protobuf::reflection::envoy_extensions_transport_sockets_raw_buffer_v3_raw_buffer::
     363             :           kFileDescriptorInfo,
     364             :       protobuf::reflection::envoy_extensions_transport_sockets_tls_v3_cert::kFileDescriptorInfo,
     365             :       protobuf::reflection::envoy_extensions_transport_sockets_tls_v3_common::kFileDescriptorInfo,
     366             :       protobuf::reflection::envoy_extensions_transport_sockets_tls_v3_secret::kFileDescriptorInfo,
     367             :       protobuf::reflection::envoy_extensions_transport_sockets_tls_v3_tls::kFileDescriptorInfo,
     368             :       protobuf::reflection::envoy_extensions_transport_sockets_tls_v3_tls_spiffe_validator_config::
     369             :           kFileDescriptorInfo,
     370             :       protobuf::reflection::envoy_extensions_udp_packet_writer_v3_udp_default_writer_factory::
     371             :           kFileDescriptorInfo,
     372             :       protobuf::reflection::envoy_extensions_udp_packet_writer_v3_udp_gso_batch_writer_factory::
     373             :           kFileDescriptorInfo,
     374             :       protobuf::reflection::envoy_extensions_upstreams_http_generic_v3_generic_connection_pool::
     375             :           kFileDescriptorInfo,
     376             :       protobuf::reflection::envoy_extensions_upstreams_http_v3_http_protocol_options::
     377             :           kFileDescriptorInfo,
     378             :       protobuf::reflection::envoy_extensions_upstreams_tcp_v3_tcp_protocol_options::
     379             :           kFileDescriptorInfo,
     380             :       protobuf::reflection::envoy_service_cluster_v3_cds::kFileDescriptorInfo,
     381             :       protobuf::reflection::envoy_service_discovery_v3_ads::kFileDescriptorInfo,
     382             :       protobuf::reflection::envoy_service_discovery_v3_discovery::kFileDescriptorInfo,
     383             :       protobuf::reflection::envoy_service_endpoint_v3_eds::kFileDescriptorInfo,
     384             :       protobuf::reflection::envoy_service_endpoint_v3_leds::kFileDescriptorInfo,
     385             :       protobuf::reflection::envoy_service_extension_v3_config_discovery::kFileDescriptorInfo,
     386             :       protobuf::reflection::envoy_service_health_v3_hds::kFileDescriptorInfo,
     387             :       protobuf::reflection::envoy_service_listener_v3_lds::kFileDescriptorInfo,
     388             :       protobuf::reflection::envoy_service_load_stats_v3_lrs::kFileDescriptorInfo,
     389             :       protobuf::reflection::envoy_service_metrics_v3_metrics_service::kFileDescriptorInfo,
     390             :       protobuf::reflection::envoy_service_ratelimit_v3_rls::kFileDescriptorInfo,
     391             :       protobuf::reflection::envoy_service_route_v3_rds::kFileDescriptorInfo,
     392             :       protobuf::reflection::envoy_service_route_v3_srds::kFileDescriptorInfo,
     393             :       protobuf::reflection::envoy_service_runtime_v3_rtds::kFileDescriptorInfo,
     394             :       protobuf::reflection::envoy_service_secret_v3_sds::kFileDescriptorInfo,
     395             :       protobuf::reflection::envoy_type_matcher_metadata::kFileDescriptorInfo,
     396             :       protobuf::reflection::envoy_type_matcher_node::kFileDescriptorInfo,
     397             :       protobuf::reflection::envoy_type_matcher_number::kFileDescriptorInfo,
     398             :       protobuf::reflection::envoy_type_matcher_path::kFileDescriptorInfo,
     399             :       protobuf::reflection::envoy_type_matcher_regex::kFileDescriptorInfo,
     400             :       protobuf::reflection::envoy_type_matcher_string::kFileDescriptorInfo,
     401             :       protobuf::reflection::envoy_type_matcher_struct::kFileDescriptorInfo,
     402             :       protobuf::reflection::envoy_type_matcher_value::kFileDescriptorInfo,
     403             :       protobuf::reflection::envoy_type_matcher_v3_filter_state::kFileDescriptorInfo,
     404             :       protobuf::reflection::envoy_type_matcher_v3_http_inputs::kFileDescriptorInfo,
     405             :       protobuf::reflection::envoy_type_matcher_v3_metadata::kFileDescriptorInfo,
     406             :       protobuf::reflection::envoy_type_matcher_v3_node::kFileDescriptorInfo,
     407             :       protobuf::reflection::envoy_type_matcher_v3_number::kFileDescriptorInfo,
     408             :       protobuf::reflection::envoy_type_matcher_v3_path::kFileDescriptorInfo,
     409             :       protobuf::reflection::envoy_type_matcher_v3_regex::kFileDescriptorInfo,
     410             :       protobuf::reflection::envoy_type_matcher_v3_status_code_input::kFileDescriptorInfo,
     411             :       protobuf::reflection::envoy_type_matcher_v3_string::kFileDescriptorInfo,
     412             :       protobuf::reflection::envoy_type_matcher_v3_struct::kFileDescriptorInfo,
     413             :       protobuf::reflection::envoy_type_matcher_v3_value::kFileDescriptorInfo,
     414             :       protobuf::reflection::envoy_type_metadata_v3_metadata::kFileDescriptorInfo,
     415             :       protobuf::reflection::envoy_type_tracing_v3_custom_tag::kFileDescriptorInfo,
     416             :       protobuf::reflection::envoy_type_v3_hash_policy::kFileDescriptorInfo,
     417             :       protobuf::reflection::envoy_type_v3_http::kFileDescriptorInfo,
     418             :       protobuf::reflection::envoy_type_v3_http_status::kFileDescriptorInfo,
     419             :       protobuf::reflection::envoy_type_v3_percent::kFileDescriptorInfo,
     420             :       protobuf::reflection::envoy_type_v3_range::kFileDescriptorInfo,
     421             :       protobuf::reflection::envoy_type_v3_ratelimit_strategy::kFileDescriptorInfo,
     422             :       protobuf::reflection::envoy_type_v3_ratelimit_unit::kFileDescriptorInfo,
     423             :       protobuf::reflection::envoy_type_v3_semantic_version::kFileDescriptorInfo,
     424             :       protobuf::reflection::envoy_type_v3_token_bucket::kFileDescriptorInfo,
     425             :       protobuf::reflection::envoy_watchdog_v3_abort_action::kFileDescriptorInfo,
     426             :   };
     427             :   for (const FileDescriptorInfo& descriptor : file_descriptors) {
     428             :     transcoder->loadFileDescriptors(descriptor);
     429             :   }
     430             :   return transcoder;
     431             : }
     432             : 
     433             : TextFormatTranscoder& getTranscoder() {
     434             :   // This transcoder is used by createDynamicMessage() to convert an instance of a MessageLite
     435             :   // subclass into an instance of Message. This Message instance has reflection capabilities
     436             :   // but does not have the per-field accessors that the generated C++ subclasses have.
     437             :   // As such it is only useful for reflection uses.
     438             :   static std::unique_ptr<TextFormatTranscoder> transcoder = createTranscoder();
     439             :   return *transcoder;
     440             : }
     441             : 
     442             : } // namespace
     443             : 
     444             : namespace Envoy {
     445             : 
     446             : void loadFileDescriptors(const FileDescriptorInfo& file_descriptor_info) {
     447             :   getTranscoder().loadFileDescriptors(file_descriptor_info);
     448             : }
     449             : 
     450             : Protobuf::ReflectableMessage createReflectableMessage(const Protobuf::Message& message) {
     451             :   Protobuf::ReflectableMessage reflectable_message = createDynamicMessage(getTranscoder(), message);
     452             :   ASSERT(reflectable_message, "Unable to create dyanmic message for: " + message.GetTypeName());
     453             :   return reflectable_message;
     454             : }
     455             : 
     456             : } // namespace Envoy
     457             : #endif

Generated by: LCOV version 1.15