/proc/self/cwd/source/common/matcher/matcher.h
Line | Count | Source (jump to first uncovered line) |
1 | | #pragma once |
2 | | |
3 | | #include <functional> |
4 | | #include <memory> |
5 | | #include <variant> |
6 | | |
7 | | #include "envoy/config/common/matcher/v3/matcher.pb.h" |
8 | | #include "envoy/config/core/v3/extension.pb.h" |
9 | | #include "envoy/config/typed_config.h" |
10 | | #include "envoy/matcher/matcher.h" |
11 | | |
12 | | #include "source/common/common/assert.h" |
13 | | #include "source/common/config/utility.h" |
14 | | #include "source/common/matcher/exact_map_matcher.h" |
15 | | #include "source/common/matcher/field_matcher.h" |
16 | | #include "source/common/matcher/list_matcher.h" |
17 | | #include "source/common/matcher/prefix_map_matcher.h" |
18 | | #include "source/common/matcher/validation_visitor.h" |
19 | | #include "source/common/matcher/value_input_matcher.h" |
20 | | |
21 | | #include "absl/strings/string_view.h" |
22 | | #include "absl/types/optional.h" |
23 | | |
24 | | namespace Envoy { |
25 | | namespace Matcher { |
26 | | |
27 | | template <class ProtoType, class Base = Action> class ActionBase : public Base { |
28 | | public: |
29 | 1.18k | template <typename... Args> ActionBase(Args... args) : Base(args...) {} Envoy::Matcher::ActionBase<envoy::config::route::v3::Route, Envoy::Matcher::Action>::ActionBase<>() Line | Count | Source | 29 | 1.18k | template <typename... Args> ActionBase(Args... args) : Base(args...) {} |
Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::route::v3::RouteList, Envoy::Matcher::Action>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::StringValue, Envoy::Server::Configuration::FilterChainBaseAction>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::core::v3::SubstitutionFormatString, Envoy::Server::Configuration::FilterChainBaseAction>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::http::composite::v3::ExecuteFilterAction, Envoy::Matcher::Action>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::service::rate_limit_quota::v3::BucketId, Envoy::Matcher::Action>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::network::generic_proxy::action::v3::RouteAction, Envoy::Matcher::Action>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::udp::udp_proxy::v3::Route, Envoy::Matcher::Action>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::Any, Envoy::Matcher::Action>::ActionBase<>() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::rbac::v3::Action, Envoy::Matcher::Action>::ActionBase<>() |
30 | | |
31 | 1.18k | absl::string_view typeUrl() const override { return staticTypeUrl(); } Envoy::Matcher::ActionBase<envoy::config::route::v3::Route, Envoy::Matcher::Action>::typeUrl() const Line | Count | Source | 31 | 1.18k | absl::string_view typeUrl() const override { return staticTypeUrl(); } |
Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::route::v3::RouteList, Envoy::Matcher::Action>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::StringValue, Envoy::Server::Configuration::FilterChainBaseAction>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::core::v3::SubstitutionFormatString, Envoy::Server::Configuration::FilterChainBaseAction>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::http::composite::v3::ExecuteFilterAction, Envoy::Matcher::Action>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::Any, Envoy::Matcher::Action>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::service::rate_limit_quota::v3::BucketId, Envoy::Matcher::Action>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::rbac::v3::Action, Envoy::Matcher::Action>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::network::generic_proxy::action::v3::RouteAction, Envoy::Matcher::Action>::typeUrl() const Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::udp::udp_proxy::v3::Route, Envoy::Matcher::Action>::typeUrl() const |
32 | | |
33 | 2.37k | static absl::string_view staticTypeUrl() { |
34 | 2.37k | const static std::string typeUrl = ProtoType().GetTypeName(); |
35 | | |
36 | 2.37k | return typeUrl; |
37 | 2.37k | } Envoy::Matcher::ActionBase<envoy::config::route::v3::Route, Envoy::Matcher::Action>::staticTypeUrl() Line | Count | Source | 33 | 2.37k | static absl::string_view staticTypeUrl() { | 34 | 2.37k | const static std::string typeUrl = ProtoType().GetTypeName(); | 35 | | | 36 | 2.37k | return typeUrl; | 37 | 2.37k | } |
Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::route::v3::RouteList, Envoy::Matcher::Action>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::StringValue, Envoy::Server::Configuration::FilterChainBaseAction>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::core::v3::SubstitutionFormatString, Envoy::Server::Configuration::FilterChainBaseAction>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::http::composite::v3::ExecuteFilterAction, Envoy::Matcher::Action>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::Any, Envoy::Matcher::Action>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::service::rate_limit_quota::v3::BucketId, Envoy::Matcher::Action>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::rbac::v3::Action, Envoy::Matcher::Action>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::network::generic_proxy::action::v3::RouteAction, Envoy::Matcher::Action>::staticTypeUrl() Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::udp::udp_proxy::v3::Route, Envoy::Matcher::Action>::staticTypeUrl() |
38 | | }; |
39 | | |
40 | | struct MaybeMatchResult { |
41 | | const ActionFactoryCb result_; |
42 | | const MatchState match_state_; |
43 | | }; |
44 | | |
45 | | // TODO(snowp): Make this a class that tracks the progress to speed up subsequent traversals. |
46 | | template <class DataType> |
47 | | static inline MaybeMatchResult evaluateMatch(MatchTree<DataType>& match_tree, |
48 | 3.27k | const DataType& data) { |
49 | 3.27k | const auto result = match_tree.match(data); |
50 | 3.27k | if (result.match_state_ == MatchState::UnableToMatch) { |
51 | 0 | return MaybeMatchResult{nullptr, MatchState::UnableToMatch}; |
52 | 0 | } |
53 | | |
54 | 3.27k | if (!result.on_match_) { |
55 | 1.12k | return {nullptr, MatchState::MatchComplete}; |
56 | 1.12k | } |
57 | | |
58 | 2.14k | if (result.on_match_->matcher_) { |
59 | 956 | return evaluateMatch(*result.on_match_->matcher_, data); |
60 | 956 | } |
61 | | |
62 | 1.18k | return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete}; |
63 | 2.14k | } config_impl.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Http::HttpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>&, Envoy::Http::HttpMatchingData const&) Line | Count | Source | 48 | 1.72k | const DataType& data) { | 49 | 1.72k | const auto result = match_tree.match(data); | 50 | 1.72k | if (result.match_state_ == MatchState::UnableToMatch) { | 51 | 0 | return MaybeMatchResult{nullptr, MatchState::UnableToMatch}; | 52 | 0 | } | 53 | | | 54 | 1.72k | if (!result.on_match_) { | 55 | 0 | return {nullptr, MatchState::MatchComplete}; | 56 | 0 | } | 57 | | | 58 | 1.72k | if (result.on_match_->matcher_) { | 59 | 540 | return evaluateMatch(*result.on_match_->matcher_, data); | 60 | 540 | } | 61 | | | 62 | 1.18k | return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete}; | 63 | 1.72k | } |
Unexecuted instantiation: filter_chain_manager_impl.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Network::MatchingData>(Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>&, Envoy::Network::MatchingData const&) filter.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Http::HttpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>&, Envoy::Http::HttpMatchingData const&) Line | Count | Source | 48 | 2 | const DataType& data) { | 49 | 2 | const auto result = match_tree.match(data); | 50 | 2 | if (result.match_state_ == MatchState::UnableToMatch) { | 51 | 0 | return MaybeMatchResult{nullptr, MatchState::UnableToMatch}; | 52 | 0 | } | 53 | | | 54 | 2 | if (!result.on_match_) { | 55 | 2 | return {nullptr, MatchState::MatchComplete}; | 56 | 2 | } | 57 | | | 58 | 0 | if (result.on_match_->matcher_) { | 59 | 0 | return evaluateMatch(*result.on_match_->matcher_, data); | 60 | 0 | } | 61 | | | 62 | 0 | return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete}; | 63 | 0 | } |
Unexecuted instantiation: route_impl.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>(Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>&, Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput const&) Unexecuted instantiation: router_impl.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Network::UdpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>&, Envoy::Network::UdpMatchingData const&) Unexecuted instantiation: config.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Http::HttpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>&, Envoy::Http::HttpMatchingData const&) engine_impl.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Http::HttpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>&, Envoy::Http::HttpMatchingData const&) Line | Count | Source | 48 | 1.54k | const DataType& data) { | 49 | 1.54k | const auto result = match_tree.match(data); | 50 | 1.54k | if (result.match_state_ == MatchState::UnableToMatch) { | 51 | 0 | return MaybeMatchResult{nullptr, MatchState::UnableToMatch}; | 52 | 0 | } | 53 | | | 54 | 1.54k | if (!result.on_match_) { | 55 | 1.12k | return {nullptr, MatchState::MatchComplete}; | 56 | 1.12k | } | 57 | | | 58 | 416 | if (result.on_match_->matcher_) { | 59 | 416 | return evaluateMatch(*result.on_match_->matcher_, data); | 60 | 416 | } | 61 | | | 62 | 0 | return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete}; | 63 | 416 | } |
Unexecuted instantiation: trie_matcher.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Network::MatchingData>(Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>&, Envoy::Network::MatchingData const&) Unexecuted instantiation: trie_matcher.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Network::UdpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>&, Envoy::Network::UdpMatchingData const&) Unexecuted instantiation: trie_matcher.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Http::HttpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>&, Envoy::Http::HttpMatchingData const&) |
64 | | |
65 | | template <class DataType> using FieldMatcherFactoryCb = std::function<FieldMatcherPtr<DataType>()>; |
66 | | |
67 | | /** |
68 | | * A matcher that will always resolve to associated on_no_match. This is used when |
69 | | * the matcher is configured without a matcher, allowing for a tree that always resolves |
70 | | * to a specific OnMatch. |
71 | | */ |
72 | | template <class DataType> class AnyMatcher : public MatchTree<DataType> { |
73 | | public: |
74 | | explicit AnyMatcher(absl::optional<OnMatch<DataType>> on_no_match) |
75 | 10.4k | : on_no_match_(std::move(on_no_match)) {} Envoy::Matcher::AnyMatcher<Envoy::Http::HttpMatchingData>::AnyMatcher(std::__1::optional<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> >) Line | Count | Source | 75 | 10.2k | : on_no_match_(std::move(on_no_match)) {} |
Envoy::Matcher::AnyMatcher<Envoy::Network::MatchingData>::AnyMatcher(std::__1::optional<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> >) Line | Count | Source | 75 | 183 | : on_no_match_(std::move(on_no_match)) {} |
Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::AnyMatcher(std::__1::optional<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> >) Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Network::UdpMatchingData>::AnyMatcher(std::__1::optional<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> >) |
76 | | |
77 | 2.48k | typename MatchTree<DataType>::MatchResult match(const DataType&) override { |
78 | 2.48k | return {MatchState::MatchComplete, on_no_match_}; |
79 | 2.48k | } Envoy::Matcher::AnyMatcher<Envoy::Http::HttpMatchingData>::match(Envoy::Http::HttpMatchingData const&) Line | Count | Source | 77 | 2.48k | typename MatchTree<DataType>::MatchResult match(const DataType&) override { | 78 | 2.48k | return {MatchState::MatchComplete, on_no_match_}; | 79 | 2.48k | } |
Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Network::MatchingData>::match(Envoy::Network::MatchingData const&) Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::match(Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput const&) Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Network::UdpMatchingData>::match(Envoy::Network::UdpMatchingData const&) |
80 | | const absl::optional<OnMatch<DataType>> on_no_match_; |
81 | | }; |
82 | | |
83 | | /** |
84 | | * Constructs a data input function for a data type. |
85 | | **/ |
86 | | template <class DataType> class MatchInputFactory { |
87 | | public: |
88 | | MatchInputFactory(ProtobufMessage::ValidationVisitor& validator, |
89 | | MatchTreeValidationVisitor<DataType>& validation_visitor) |
90 | 10.8k | : validator_(validator), validation_visitor_(validation_visitor) {} Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::MatchInputFactory(Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Http::HttpMatchingData>&) Line | Count | Source | 90 | 10.7k | : validator_(validator), validation_visitor_(validation_visitor) {} |
Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::MatchInputFactory(Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Network::MatchingData>&) Line | Count | Source | 90 | 27 | : validator_(validator), validation_visitor_(validation_visitor) {} |
Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::MatchInputFactory(Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::MatchInputFactory(Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Network::UdpMatchingData>&) |
91 | | |
92 | 30.9k | DataInputFactoryCb<DataType> createDataInput(const xds::core::v3::TypedExtensionConfig& config) { |
93 | 30.9k | return createDataInputBase(config); |
94 | 30.9k | } Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInput(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 92 | 30.9k | DataInputFactoryCb<DataType> createDataInput(const xds::core::v3::TypedExtensionConfig& config) { | 93 | 30.9k | return createDataInputBase(config); | 94 | 30.9k | } |
Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::createDataInput(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::createDataInput(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::createDataInput(xds::core::v3::TypedExtensionConfig const&) |
95 | | |
96 | | DataInputFactoryCb<DataType> |
97 | 2.22k | createDataInput(const envoy::config::core::v3::TypedExtensionConfig& config) { |
98 | 2.22k | return createDataInputBase(config); |
99 | 2.22k | } Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInput(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 97 | 2.22k | createDataInput(const envoy::config::core::v3::TypedExtensionConfig& config) { | 98 | 2.22k | return createDataInputBase(config); | 99 | 2.22k | } |
Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::createDataInput(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::createDataInput(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::createDataInput(envoy::config::core::v3::TypedExtensionConfig const&) |
100 | | |
101 | | private: |
102 | | // Wrapper around a CommonProtocolInput that allows it to be used as a DataInput<DataType>. |
103 | | class CommonProtocolInputWrapper : public DataInput<DataType> { |
104 | | public: |
105 | | explicit CommonProtocolInputWrapper(CommonProtocolInputPtr&& common_protocol_input) |
106 | 0 | : common_protocol_input_(std::move(common_protocol_input)) {} Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::CommonProtocolInputWrapper::CommonProtocolInputWrapper(std::__1::unique_ptr<Envoy::Matcher::CommonProtocolInput, std::__1::default_delete<Envoy::Matcher::CommonProtocolInput> >&&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::CommonProtocolInputWrapper::CommonProtocolInputWrapper(std::__1::unique_ptr<Envoy::Matcher::CommonProtocolInput, std::__1::default_delete<Envoy::Matcher::CommonProtocolInput> >&&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::CommonProtocolInputWrapper::CommonProtocolInputWrapper(std::__1::unique_ptr<Envoy::Matcher::CommonProtocolInput, std::__1::default_delete<Envoy::Matcher::CommonProtocolInput> >&&) Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::CommonProtocolInputWrapper::CommonProtocolInputWrapper(std::__1::unique_ptr<Envoy::Matcher::CommonProtocolInput, std::__1::default_delete<Envoy::Matcher::CommonProtocolInput> >&&) |
107 | | |
108 | 0 | DataInputGetResult get(const DataType&) const override { |
109 | 0 | return DataInputGetResult{DataInputGetResult::DataAvailability::AllDataAvailable, |
110 | 0 | common_protocol_input_->get()}; |
111 | 0 | } Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::CommonProtocolInputWrapper::get(Envoy::Http::HttpMatchingData const&) const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::CommonProtocolInputWrapper::get(Envoy::Network::MatchingData const&) const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::CommonProtocolInputWrapper::get(Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput const&) const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::CommonProtocolInputWrapper::get(Envoy::Network::UdpMatchingData const&) const |
112 | | |
113 | | private: |
114 | | const CommonProtocolInputPtr common_protocol_input_; |
115 | | }; |
116 | | |
117 | | template <class TypedExtensionConfigType> |
118 | 33.1k | DataInputFactoryCb<DataType> createDataInputBase(const TypedExtensionConfigType& config) { |
119 | 33.1k | auto* factory = Config::Utility::getFactory<DataInputFactory<DataType>>(config); |
120 | 33.1k | if (factory != nullptr) { |
121 | 32.9k | validation_visitor_.validateDataInput(*factory, config.typed_config().type_url()); |
122 | | |
123 | 32.9k | ProtobufTypes::MessagePtr message = |
124 | 32.9k | Config::Utility::translateAnyToFactoryConfig(config.typed_config(), validator_, *factory); |
125 | 32.9k | auto data_input = factory->createDataInputFactoryCb(*message, validator_); |
126 | 32.9k | return data_input; |
127 | 32.9k | } |
128 | | |
129 | | // If the provided config doesn't match a typed input, assume that this is one of the common |
130 | | // inputs. |
131 | 169 | auto& common_input_factory = |
132 | 169 | Config::Utility::getAndCheckFactory<CommonProtocolInputFactory>(config); |
133 | 169 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( |
134 | 169 | config.typed_config(), validator_, common_input_factory); |
135 | 169 | auto common_input = |
136 | 169 | common_input_factory.createCommonProtocolInputFactoryCb(*message, validator_); |
137 | 169 | return |
138 | 169 | [common_input]() { return std::make_unique<CommonProtocolInputWrapper>(common_input()); }; Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&)::{lambda()#1}::operator()() const |
139 | 33.1k | } std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Line | Count | Source | 118 | 2.22k | DataInputFactoryCb<DataType> createDataInputBase(const TypedExtensionConfigType& config) { | 119 | 2.22k | auto* factory = Config::Utility::getFactory<DataInputFactory<DataType>>(config); | 120 | 2.22k | if (factory != nullptr) { | 121 | 2.16k | validation_visitor_.validateDataInput(*factory, config.typed_config().type_url()); | 122 | | | 123 | 2.16k | ProtobufTypes::MessagePtr message = | 124 | 2.16k | Config::Utility::translateAnyToFactoryConfig(config.typed_config(), validator_, *factory); | 125 | 2.16k | auto data_input = factory->createDataInputFactoryCb(*message, validator_); | 126 | 2.16k | return data_input; | 127 | 2.16k | } | 128 | | | 129 | | // If the provided config doesn't match a typed input, assume that this is one of the common | 130 | | // inputs. | 131 | 60 | auto& common_input_factory = | 132 | 60 | Config::Utility::getAndCheckFactory<CommonProtocolInputFactory>(config); | 133 | 60 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 134 | 60 | config.typed_config(), validator_, common_input_factory); | 135 | 60 | auto common_input = | 136 | 60 | common_input_factory.createCommonProtocolInputFactoryCb(*message, validator_); | 137 | 60 | return | 138 | 60 | [common_input]() { return std::make_unique<CommonProtocolInputWrapper>(common_input()); }; | 139 | 2.22k | } |
std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Line | Count | Source | 118 | 30.9k | DataInputFactoryCb<DataType> createDataInputBase(const TypedExtensionConfigType& config) { | 119 | 30.9k | auto* factory = Config::Utility::getFactory<DataInputFactory<DataType>>(config); | 120 | 30.9k | if (factory != nullptr) { | 121 | 30.8k | validation_visitor_.validateDataInput(*factory, config.typed_config().type_url()); | 122 | | | 123 | 30.8k | ProtobufTypes::MessagePtr message = | 124 | 30.8k | Config::Utility::translateAnyToFactoryConfig(config.typed_config(), validator_, *factory); | 125 | 30.8k | auto data_input = factory->createDataInputFactoryCb(*message, validator_); | 126 | 30.8k | return data_input; | 127 | 30.8k | } | 128 | | | 129 | | // If the provided config doesn't match a typed input, assume that this is one of the common | 130 | | // inputs. | 131 | 109 | auto& common_input_factory = | 132 | 109 | Config::Utility::getAndCheckFactory<CommonProtocolInputFactory>(config); | 133 | 109 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 134 | 109 | config.typed_config(), validator_, common_input_factory); | 135 | 109 | auto common_input = | 136 | 109 | common_input_factory.createCommonProtocolInputFactoryCb(*message, validator_); | 137 | 109 | return | 138 | 109 | [common_input]() { return std::make_unique<CommonProtocolInputWrapper>(common_input()); }; | 139 | 30.9k | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::createDataInputBase<envoy::config::core::v3::TypedExtensionConfig>(envoy::config::core::v3::TypedExtensionConfig const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::createDataInputBase<xds::core::v3::TypedExtensionConfig>(xds::core::v3::TypedExtensionConfig const&) |
140 | | |
141 | | ProtobufMessage::ValidationVisitor& validator_; |
142 | | MatchTreeValidationVisitor<DataType>& validation_visitor_; |
143 | | }; |
144 | | |
145 | | /** |
146 | | * Recursively constructs a MatchTree from a protobuf configuration. |
147 | | * @param DataType the type used as a source for DataInputs |
148 | | * @param ActionFactoryContext the context provided to Action factories |
149 | | */ |
150 | | template <class DataType, class ActionFactoryContext> |
151 | | class MatchTreeFactory : public OnMatchFactory<DataType> { |
152 | | public: |
153 | | MatchTreeFactory(ActionFactoryContext& context, |
154 | | Server::Configuration::ServerFactoryContext& factory_context, |
155 | | MatchTreeValidationVisitor<DataType>& validation_visitor) |
156 | | : action_factory_context_(context), server_factory_context_(factory_context), |
157 | 8.59k | match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {} Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::MatchTreeFactory(Envoy::Router::RouteActionContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Http::HttpMatchingData>&) Line | Count | Source | 157 | 7.63k | match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {} |
Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::MatchTreeFactory(Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Network::MatchingData>&) Line | Count | Source | 157 | 27 | match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {} |
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::MatchTreeFactory(Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Http::HttpMatchingData>&) Line | Count | Source | 157 | 2 | match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {} |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::MatchTreeFactory(Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::MatchTreeFactory(Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Network::UdpMatchingData>&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::MatchTreeFactory(Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Http::HttpMatchingData>&) Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::MatchTreeFactory(Envoy::Extensions::Filters::Common::RBAC::ActionContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Http::HttpMatchingData>&) Line | Count | Source | 157 | 932 | match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {} |
|
158 | | |
159 | | // TODO(snowp): Remove this type parameter once we only have one Matcher proto. |
160 | 31.5k | template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) { |
161 | 31.5k | switch (config.matcher_type_case()) { |
162 | 16.7k | case MatcherType::kMatcherTree: |
163 | 16.7k | return createTreeMatcher(config); |
164 | 2.32k | case MatcherType::kMatcherList: |
165 | 2.32k | return createListMatcher(config); |
166 | 12.4k | case MatcherType::MATCHER_TYPE_NOT_SET: |
167 | 12.4k | return createAnyMatcher(config); |
168 | 31.5k | } |
169 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; |
170 | 0 | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 160 | 29.9k | template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) { | 161 | 29.9k | switch (config.matcher_type_case()) { | 162 | 16.6k | case MatcherType::kMatcherTree: | 163 | 16.6k | return createTreeMatcher(config); | 164 | 2.30k | case MatcherType::kMatcherList: | 165 | 2.30k | return createListMatcher(config); | 166 | 11.0k | case MatcherType::MATCHER_TYPE_NOT_SET: | 167 | 11.0k | return createAnyMatcher(config); | 168 | 29.9k | } | 169 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 170 | 0 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 160 | 185 | template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) { | 161 | 185 | switch (config.matcher_type_case()) { | 162 | 0 | case MatcherType::kMatcherTree: | 163 | 0 | return createTreeMatcher(config); | 164 | 0 | case MatcherType::kMatcherList: | 165 | 0 | return createListMatcher(config); | 166 | 185 | case MatcherType::MATCHER_TYPE_NOT_SET: | 167 | 185 | return createAnyMatcher(config); | 168 | 185 | } | 169 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 170 | 0 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 160 | 2 | template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) { | 161 | 2 | switch (config.matcher_type_case()) { | 162 | 0 | case MatcherType::kMatcherTree: | 163 | 0 | return createTreeMatcher(config); | 164 | 0 | case MatcherType::kMatcherList: | 165 | 0 | return createListMatcher(config); | 166 | 2 | case MatcherType::MATCHER_TYPE_NOT_SET: | 167 | 2 | return createAnyMatcher(config); | 168 | 2 | } | 169 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 170 | 0 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::create<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 160 | 1.35k | template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) { | 161 | 1.35k | switch (config.matcher_type_case()) { | 162 | 35 | case MatcherType::kMatcherTree: | 163 | 35 | return createTreeMatcher(config); | 164 | 23 | case MatcherType::kMatcherList: | 165 | 23 | return createListMatcher(config); | 166 | 1.29k | case MatcherType::MATCHER_TYPE_NOT_SET: | 167 | 1.29k | return createAnyMatcher(config); | 168 | 1.35k | } | 169 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 170 | 0 | } |
|
171 | | |
172 | | absl::optional<OnMatchFactoryCb<DataType>> |
173 | 89.6k | createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override { |
174 | 89.6k | return createOnMatchBase(on_match); |
175 | 89.6k | } Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 173 | 88.1k | createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override { | 174 | 88.1k | return createOnMatchBase(on_match); | 175 | 88.1k | } |
Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 173 | 185 | createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override { | 174 | 185 | return createOnMatchBase(on_match); | 175 | 185 | } |
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 173 | 2 | createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override { | 174 | 2 | return createOnMatchBase(on_match); | 175 | 2 | } |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 173 | 1.29k | createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override { | 174 | 1.29k | return createOnMatchBase(on_match); | 175 | 1.29k | } |
|
176 | | |
177 | | absl::optional<OnMatchFactoryCb<DataType>> |
178 | 0 | createOnMatch(const envoy::config::common::matcher::v3::Matcher::OnMatch& on_match) override { |
179 | 0 | return createOnMatchBase(on_match); |
180 | 0 | } Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&) |
181 | | |
182 | | private: |
183 | | template <class MatcherType> |
184 | 12.4k | MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) { |
185 | 12.4k | auto on_no_match = createOnMatch(config.on_no_match()); |
186 | | |
187 | 12.4k | return [on_no_match]() { |
188 | 10.5k | return std::make_unique<AnyMatcher<DataType>>( |
189 | 10.5k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); |
190 | 10.5k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Line | Count | Source | 187 | 9.10k | return [on_no_match]() { | 188 | 9.10k | return std::make_unique<AnyMatcher<DataType>>( | 189 | 9.10k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 9.10k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Line | Count | Source | 187 | 183 | return [on_no_match]() { | 188 | 183 | return std::make_unique<AnyMatcher<DataType>>( | 189 | 183 | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 183 | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Line | Count | Source | 187 | 2 | return [on_no_match]() { | 188 | 2 | return std::make_unique<AnyMatcher<DataType>>( | 189 | 2 | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 2 | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Line | Count | Source | 187 | 1.22k | return [on_no_match]() { | 188 | 1.22k | return std::make_unique<AnyMatcher<DataType>>( | 189 | 1.22k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 1.22k | }; |
|
191 | 12.4k | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 184 | 11.0k | MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) { | 185 | 11.0k | auto on_no_match = createOnMatch(config.on_no_match()); | 186 | | | 187 | 11.0k | return [on_no_match]() { | 188 | 11.0k | return std::make_unique<AnyMatcher<DataType>>( | 189 | 11.0k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 11.0k | }; | 191 | 11.0k | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 184 | 185 | MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) { | 185 | 185 | auto on_no_match = createOnMatch(config.on_no_match()); | 186 | | | 187 | 185 | return [on_no_match]() { | 188 | 185 | return std::make_unique<AnyMatcher<DataType>>( | 189 | 185 | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 185 | }; | 191 | 185 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 184 | 2 | MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) { | 185 | 2 | auto on_no_match = createOnMatch(config.on_no_match()); | 186 | | | 187 | 2 | return [on_no_match]() { | 188 | 2 | return std::make_unique<AnyMatcher<DataType>>( | 189 | 2 | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 2 | }; | 191 | 2 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAnyMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 184 | 1.29k | MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) { | 185 | 1.29k | auto on_no_match = createOnMatch(config.on_no_match()); | 186 | | | 187 | 1.29k | return [on_no_match]() { | 188 | 1.29k | return std::make_unique<AnyMatcher<DataType>>( | 189 | 1.29k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 190 | 1.29k | }; | 191 | 1.29k | } |
|
192 | | template <class MatcherType> |
193 | 2.32k | MatchTreeFactoryCb<DataType> createListMatcher(const MatcherType& config) { |
194 | 2.32k | std::vector<std::pair<FieldMatcherFactoryCb<DataType>, OnMatchFactoryCb<DataType>>> |
195 | 2.32k | matcher_factories; |
196 | 2.32k | matcher_factories.reserve(config.matcher_list().matchers().size()); |
197 | 4.32k | for (const auto& matcher : config.matcher_list().matchers()) { |
198 | 4.32k | matcher_factories.push_back(std::make_pair( |
199 | 4.32k | createFieldMatcher<typename MatcherType::MatcherList::Predicate>(matcher.predicate()), |
200 | 4.32k | *createOnMatch(matcher.on_match()))); |
201 | 4.32k | } |
202 | | |
203 | 2.32k | auto on_no_match = createOnMatch(config.on_no_match()); |
204 | 2.32k | return [matcher_factories, on_no_match]() { |
205 | 1.82k | auto list_matcher = std::make_unique<ListMatcher<DataType>>( |
206 | 1.82k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); |
207 | | |
208 | 3.44k | for (const auto& matcher : matcher_factories) { |
209 | 3.44k | list_matcher->addMatcher(matcher.first(), matcher.second()); |
210 | 3.44k | } |
211 | | |
212 | 1.82k | return list_matcher; |
213 | 1.82k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Line | Count | Source | 204 | 1.82k | return [matcher_factories, on_no_match]() { | 205 | 1.82k | auto list_matcher = std::make_unique<ListMatcher<DataType>>( | 206 | 1.82k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 207 | | | 208 | 3.44k | for (const auto& matcher : matcher_factories) { | 209 | 3.44k | list_matcher->addMatcher(matcher.first(), matcher.second()); | 210 | 3.44k | } | 211 | | | 212 | 1.82k | return list_matcher; | 213 | 1.82k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const |
214 | 2.32k | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 193 | 2.30k | MatchTreeFactoryCb<DataType> createListMatcher(const MatcherType& config) { | 194 | 2.30k | std::vector<std::pair<FieldMatcherFactoryCb<DataType>, OnMatchFactoryCb<DataType>>> | 195 | 2.30k | matcher_factories; | 196 | 2.30k | matcher_factories.reserve(config.matcher_list().matchers().size()); | 197 | 4.29k | for (const auto& matcher : config.matcher_list().matchers()) { | 198 | 4.29k | matcher_factories.push_back(std::make_pair( | 199 | 4.29k | createFieldMatcher<typename MatcherType::MatcherList::Predicate>(matcher.predicate()), | 200 | 4.29k | *createOnMatch(matcher.on_match()))); | 201 | 4.29k | } | 202 | | | 203 | 2.30k | auto on_no_match = createOnMatch(config.on_no_match()); | 204 | 2.30k | return [matcher_factories, on_no_match]() { | 205 | 2.30k | auto list_matcher = std::make_unique<ListMatcher<DataType>>( | 206 | 2.30k | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 207 | | | 208 | 2.30k | for (const auto& matcher : matcher_factories) { | 209 | 2.30k | list_matcher->addMatcher(matcher.first(), matcher.second()); | 210 | 2.30k | } | 211 | | | 212 | 2.30k | return list_matcher; | 213 | 2.30k | }; | 214 | 2.30k | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createListMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createListMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 193 | 23 | MatchTreeFactoryCb<DataType> createListMatcher(const MatcherType& config) { | 194 | 23 | std::vector<std::pair<FieldMatcherFactoryCb<DataType>, OnMatchFactoryCb<DataType>>> | 195 | 23 | matcher_factories; | 196 | 23 | matcher_factories.reserve(config.matcher_list().matchers().size()); | 197 | 23 | for (const auto& matcher : config.matcher_list().matchers()) { | 198 | 23 | matcher_factories.push_back(std::make_pair( | 199 | 23 | createFieldMatcher<typename MatcherType::MatcherList::Predicate>(matcher.predicate()), | 200 | 23 | *createOnMatch(matcher.on_match()))); | 201 | 23 | } | 202 | | | 203 | 23 | auto on_no_match = createOnMatch(config.on_no_match()); | 204 | 23 | return [matcher_factories, on_no_match]() { | 205 | 23 | auto list_matcher = std::make_unique<ListMatcher<DataType>>( | 206 | 23 | on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 207 | | | 208 | 23 | for (const auto& matcher : matcher_factories) { | 209 | 23 | list_matcher->addMatcher(matcher.first(), matcher.second()); | 210 | 23 | } | 211 | | | 212 | 23 | return list_matcher; | 213 | 23 | }; | 214 | 23 | } |
|
215 | | |
216 | | template <class MatcherT, class PredicateType, class FieldPredicateType> |
217 | | FieldMatcherFactoryCb<DataType> createAggregateFieldMatcherFactoryCb( |
218 | 5.16k | const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) { |
219 | 5.16k | std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers; |
220 | 15.0k | for (const auto& predicate : predicates) { |
221 | 15.0k | sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate)); |
222 | 15.0k | } |
223 | | |
224 | 5.16k | return [sub_matchers]() { |
225 | 4.13k | std::vector<FieldMatcherPtr<DataType>> matchers; |
226 | 4.13k | matchers.reserve(sub_matchers.size()); |
227 | 12.5k | for (const auto& factory_cb : sub_matchers) { |
228 | 12.5k | matchers.emplace_back(factory_cb()); |
229 | 12.5k | } |
230 | | |
231 | 4.13k | return std::make_unique<MatcherT>(std::move(matchers)); |
232 | 4.13k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Line | Count | Source | 224 | 2.83k | return [sub_matchers]() { | 225 | 2.83k | std::vector<FieldMatcherPtr<DataType>> matchers; | 226 | 2.83k | matchers.reserve(sub_matchers.size()); | 227 | 9.62k | for (const auto& factory_cb : sub_matchers) { | 228 | 9.62k | matchers.emplace_back(factory_cb()); | 229 | 9.62k | } | 230 | | | 231 | 2.83k | return std::make_unique<MatcherT>(std::move(matchers)); | 232 | 2.83k | }; |
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Line | Count | Source | 224 | 1.30k | return [sub_matchers]() { | 225 | 1.30k | std::vector<FieldMatcherPtr<DataType>> matchers; | 226 | 1.30k | matchers.reserve(sub_matchers.size()); | 227 | 2.92k | for (const auto& factory_cb : sub_matchers) { | 228 | 2.92k | matchers.emplace_back(factory_cb()); | 229 | 2.92k | } | 230 | | | 231 | 1.30k | return std::make_unique<MatcherT>(std::move(matchers)); | 232 | 1.30k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::MatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::MatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::MatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::MatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::UdpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::UdpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::UdpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::UdpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&)::{lambda()#1}::operator()() const |
233 | 5.16k | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Line | Count | Source | 218 | 3.36k | const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) { | 219 | 3.36k | std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers; | 220 | 11.0k | for (const auto& predicate : predicates) { | 221 | 11.0k | sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate)); | 222 | 11.0k | } | 223 | | | 224 | 3.36k | return [sub_matchers]() { | 225 | 3.36k | std::vector<FieldMatcherPtr<DataType>> matchers; | 226 | 3.36k | matchers.reserve(sub_matchers.size()); | 227 | 3.36k | for (const auto& factory_cb : sub_matchers) { | 228 | 3.36k | matchers.emplace_back(factory_cb()); | 229 | 3.36k | } | 230 | | | 231 | 3.36k | return std::make_unique<MatcherT>(std::move(matchers)); | 232 | 3.36k | }; | 233 | 3.36k | } |
std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Line | Count | Source | 218 | 1.72k | const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) { | 219 | 1.72k | std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers; | 220 | 3.98k | for (const auto& predicate : predicates) { | 221 | 3.98k | sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate)); | 222 | 3.98k | } | 223 | | | 224 | 1.72k | return [sub_matchers]() { | 225 | 1.72k | std::vector<FieldMatcherPtr<DataType>> matchers; | 226 | 1.72k | matchers.reserve(sub_matchers.size()); | 227 | 1.72k | for (const auto& factory_cb : sub_matchers) { | 228 | 1.72k | matchers.emplace_back(factory_cb()); | 229 | 1.72k | } | 230 | | | 231 | 1.72k | return std::make_unique<MatcherT>(std::move(matchers)); | 232 | 1.72k | }; | 233 | 1.72k | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::MatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::MatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::MatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::MatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::UdpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::UdpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Network::UdpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Network::UdpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate> const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AnyFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Line | Count | Source | 218 | 41 | const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) { | 219 | 41 | std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers; | 220 | 41 | for (const auto& predicate : predicates) { | 221 | 41 | sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate)); | 222 | 41 | } | 223 | | | 224 | 41 | return [sub_matchers]() { | 225 | 41 | std::vector<FieldMatcherPtr<DataType>> matchers; | 226 | 41 | matchers.reserve(sub_matchers.size()); | 227 | 41 | for (const auto& factory_cb : sub_matchers) { | 228 | 41 | matchers.emplace_back(factory_cb()); | 229 | 41 | } | 230 | | | 231 | 41 | return std::make_unique<MatcherT>(std::move(matchers)); | 232 | 41 | }; | 233 | 41 | } |
std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createAggregateFieldMatcherFactoryCb<Envoy::Matcher::AllFieldMatcher<Envoy::Http::HttpMatchingData>, xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(google::protobuf::RepeatedPtrField<xds::type::matcher::v3::Matcher_MatcherList_Predicate> const&) Line | Count | Source | 218 | 36 | const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) { | 219 | 36 | std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers; | 220 | 36 | for (const auto& predicate : predicates) { | 221 | 36 | sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate)); | 222 | 36 | } | 223 | | | 224 | 36 | return [sub_matchers]() { | 225 | 36 | std::vector<FieldMatcherPtr<DataType>> matchers; | 226 | 36 | matchers.reserve(sub_matchers.size()); | 227 | 36 | for (const auto& factory_cb : sub_matchers) { | 228 | 36 | matchers.emplace_back(factory_cb()); | 229 | 36 | } | 230 | | | 231 | 36 | return std::make_unique<MatcherT>(std::move(matchers)); | 232 | 36 | }; | 233 | 36 | } |
|
234 | | |
235 | | template <class PredicateType, class FieldMatcherType> |
236 | 21.6k | FieldMatcherFactoryCb<DataType> createFieldMatcher(const FieldMatcherType& field_predicate) { |
237 | 21.6k | switch (field_predicate.match_type_case()) { |
238 | 14.2k | case (PredicateType::kSinglePredicate): { |
239 | 14.2k | auto data_input = |
240 | 14.2k | match_input_factory_.createDataInput(field_predicate.single_predicate().input()); |
241 | 14.2k | auto input_matcher = createInputMatcher(field_predicate.single_predicate()); |
242 | | |
243 | 14.2k | return [data_input, input_matcher]() { |
244 | 11.8k | return THROW_OR_RETURN_VALUE( |
245 | 11.8k | SingleFieldMatcher<DataType>::create(data_input(), input_matcher()), |
246 | 11.8k | std::unique_ptr<SingleFieldMatcher<DataType>>); |
247 | 11.8k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Line | Count | Source | 243 | 11.8k | return [data_input, input_matcher]() { | 244 | 11.8k | return THROW_OR_RETURN_VALUE( | 245 | 11.8k | SingleFieldMatcher<DataType>::create(data_input(), input_matcher()), | 246 | 11.8k | std::unique_ptr<SingleFieldMatcher<DataType>>); | 247 | 11.8k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#1}::operator()() const |
248 | 0 | } |
249 | 3.40k | case (PredicateType::kOrMatcher): |
250 | 3.40k | return createAggregateFieldMatcherFactoryCb<AnyFieldMatcher<DataType>, PredicateType>( |
251 | 3.40k | field_predicate.or_matcher().predicate()); |
252 | 1.75k | case (PredicateType::kAndMatcher): |
253 | 1.75k | return createAggregateFieldMatcherFactoryCb<AllFieldMatcher<DataType>, PredicateType>( |
254 | 1.75k | field_predicate.and_matcher().predicate()); |
255 | 2.26k | case (PredicateType::kNotMatcher): { |
256 | 2.26k | auto matcher_factory = createFieldMatcher<PredicateType>(field_predicate.not_matcher()); |
257 | | |
258 | 2.26k | return [matcher_factory]() { |
259 | 1.54k | return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory()); |
260 | 1.54k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Line | Count | Source | 258 | 1.54k | return [matcher_factory]() { | 259 | 1.54k | return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory()); | 260 | 1.54k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&)::{lambda()#2}::operator()() const |
261 | 0 | } |
262 | 0 | case PredicateType::MATCH_TYPE_NOT_SET: |
263 | 0 | PANIC_DUE_TO_PROTO_UNSET; |
264 | 21.6k | } |
265 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; |
266 | 0 | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Line | Count | Source | 236 | 21.4k | FieldMatcherFactoryCb<DataType> createFieldMatcher(const FieldMatcherType& field_predicate) { | 237 | 21.4k | switch (field_predicate.match_type_case()) { | 238 | 14.1k | case (PredicateType::kSinglePredicate): { | 239 | 14.1k | auto data_input = | 240 | 14.1k | match_input_factory_.createDataInput(field_predicate.single_predicate().input()); | 241 | 14.1k | auto input_matcher = createInputMatcher(field_predicate.single_predicate()); | 242 | | | 243 | 14.1k | return [data_input, input_matcher]() { | 244 | 14.1k | return THROW_OR_RETURN_VALUE( | 245 | 14.1k | SingleFieldMatcher<DataType>::create(data_input(), input_matcher()), | 246 | 14.1k | std::unique_ptr<SingleFieldMatcher<DataType>>); | 247 | 14.1k | }; | 248 | 0 | } | 249 | 3.36k | case (PredicateType::kOrMatcher): | 250 | 3.36k | return createAggregateFieldMatcherFactoryCb<AnyFieldMatcher<DataType>, PredicateType>( | 251 | 3.36k | field_predicate.or_matcher().predicate()); | 252 | 1.72k | case (PredicateType::kAndMatcher): | 253 | 1.72k | return createAggregateFieldMatcherFactoryCb<AllFieldMatcher<DataType>, PredicateType>( | 254 | 1.72k | field_predicate.and_matcher().predicate()); | 255 | 2.17k | case (PredicateType::kNotMatcher): { | 256 | 2.17k | auto matcher_factory = createFieldMatcher<PredicateType>(field_predicate.not_matcher()); | 257 | | | 258 | 2.17k | return [matcher_factory]() { | 259 | 2.17k | return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory()); | 260 | 2.17k | }; | 261 | 0 | } | 262 | 0 | case PredicateType::MATCH_TYPE_NOT_SET: | 263 | 0 | PANIC_DUE_TO_PROTO_UNSET; | 264 | 21.4k | } | 265 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 266 | 0 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createFieldMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate, envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::FieldMatcher<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createFieldMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate, xds::type::matcher::v3::Matcher_MatcherList_Predicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate const&) Line | Count | Source | 236 | 189 | FieldMatcherFactoryCb<DataType> createFieldMatcher(const FieldMatcherType& field_predicate) { | 237 | 189 | switch (field_predicate.match_type_case()) { | 238 | 23 | case (PredicateType::kSinglePredicate): { | 239 | 23 | auto data_input = | 240 | 23 | match_input_factory_.createDataInput(field_predicate.single_predicate().input()); | 241 | 23 | auto input_matcher = createInputMatcher(field_predicate.single_predicate()); | 242 | | | 243 | 23 | return [data_input, input_matcher]() { | 244 | 23 | return THROW_OR_RETURN_VALUE( | 245 | 23 | SingleFieldMatcher<DataType>::create(data_input(), input_matcher()), | 246 | 23 | std::unique_ptr<SingleFieldMatcher<DataType>>); | 247 | 23 | }; | 248 | 0 | } | 249 | 41 | case (PredicateType::kOrMatcher): | 250 | 41 | return createAggregateFieldMatcherFactoryCb<AnyFieldMatcher<DataType>, PredicateType>( | 251 | 41 | field_predicate.or_matcher().predicate()); | 252 | 36 | case (PredicateType::kAndMatcher): | 253 | 36 | return createAggregateFieldMatcherFactoryCb<AllFieldMatcher<DataType>, PredicateType>( | 254 | 36 | field_predicate.and_matcher().predicate()); | 255 | 89 | case (PredicateType::kNotMatcher): { | 256 | 89 | auto matcher_factory = createFieldMatcher<PredicateType>(field_predicate.not_matcher()); | 257 | | | 258 | 89 | return [matcher_factory]() { | 259 | 89 | return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory()); | 260 | 89 | }; | 261 | 0 | } | 262 | 0 | case PredicateType::MATCH_TYPE_NOT_SET: | 263 | 0 | PANIC_DUE_TO_PROTO_UNSET; | 264 | 189 | } | 265 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 266 | 0 | } |
|
267 | | |
268 | | template <class MatcherType> |
269 | 16.7k | MatchTreeFactoryCb<DataType> createTreeMatcher(const MatcherType& matcher) { |
270 | 16.7k | auto data_input = match_input_factory_.createDataInput(matcher.matcher_tree().input()); |
271 | 16.7k | auto on_no_match = createOnMatch(matcher.on_no_match()); |
272 | | |
273 | 16.7k | switch (matcher.matcher_tree().tree_type_case()) { |
274 | 8.28k | case MatcherType::MatcherTree::kExactMatchMap: { |
275 | 8.28k | return createMapMatcher<ExactMapMatcher>(matcher.matcher_tree().exact_match_map(), data_input, |
276 | 8.28k | on_no_match); |
277 | 0 | } |
278 | 8.18k | case MatcherType::MatcherTree::kPrefixMatchMap: { |
279 | 8.18k | return createMapMatcher<PrefixMapMatcher>(matcher.matcher_tree().prefix_match_map(), |
280 | 8.18k | data_input, on_no_match); |
281 | 0 | } |
282 | 0 | case MatcherType::MatcherTree::TREE_TYPE_NOT_SET: |
283 | 0 | PANIC("unexpected matcher type"); |
284 | 16 | case MatcherType::MatcherTree::kCustomMatch: { |
285 | 16 | auto& factory = Config::Utility::getAndCheckFactory<CustomMatcherFactory<DataType>>( |
286 | 16 | matcher.matcher_tree().custom_match()); |
287 | 16 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( |
288 | 16 | matcher.matcher_tree().custom_match().typed_config(), |
289 | 16 | server_factory_context_.messageValidationVisitor(), factory); |
290 | 16 | return factory.createCustomMatcherFactoryCb(*message, server_factory_context_, data_input, |
291 | 16 | on_no_match, *this); |
292 | 0 | } |
293 | 16.7k | } |
294 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; |
295 | 0 | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 269 | 16.6k | MatchTreeFactoryCb<DataType> createTreeMatcher(const MatcherType& matcher) { | 270 | 16.6k | auto data_input = match_input_factory_.createDataInput(matcher.matcher_tree().input()); | 271 | 16.6k | auto on_no_match = createOnMatch(matcher.on_no_match()); | 272 | | | 273 | 16.6k | switch (matcher.matcher_tree().tree_type_case()) { | 274 | 8.28k | case MatcherType::MatcherTree::kExactMatchMap: { | 275 | 8.28k | return createMapMatcher<ExactMapMatcher>(matcher.matcher_tree().exact_match_map(), data_input, | 276 | 8.28k | on_no_match); | 277 | 0 | } | 278 | 8.18k | case MatcherType::MatcherTree::kPrefixMatchMap: { | 279 | 8.18k | return createMapMatcher<PrefixMapMatcher>(matcher.matcher_tree().prefix_match_map(), | 280 | 8.18k | data_input, on_no_match); | 281 | 0 | } | 282 | 0 | case MatcherType::MatcherTree::TREE_TYPE_NOT_SET: | 283 | 0 | PANIC("unexpected matcher type"); | 284 | 16 | case MatcherType::MatcherTree::kCustomMatch: { | 285 | 16 | auto& factory = Config::Utility::getAndCheckFactory<CustomMatcherFactory<DataType>>( | 286 | 16 | matcher.matcher_tree().custom_match()); | 287 | 16 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 288 | 16 | matcher.matcher_tree().custom_match().typed_config(), | 289 | 16 | server_factory_context_.messageValidationVisitor(), factory); | 290 | 16 | return factory.createCustomMatcherFactoryCb(*message, server_factory_context_, data_input, | 291 | 16 | on_no_match, *this); | 292 | 0 | } | 293 | 16.6k | } | 294 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 295 | 0 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createTreeMatcher<envoy::config::common::matcher::v3::Matcher>(envoy::config::common::matcher::v3::Matcher const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createTreeMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&) Line | Count | Source | 269 | 35 | MatchTreeFactoryCb<DataType> createTreeMatcher(const MatcherType& matcher) { | 270 | 35 | auto data_input = match_input_factory_.createDataInput(matcher.matcher_tree().input()); | 271 | 35 | auto on_no_match = createOnMatch(matcher.on_no_match()); | 272 | | | 273 | 35 | switch (matcher.matcher_tree().tree_type_case()) { | 274 | 0 | case MatcherType::MatcherTree::kExactMatchMap: { | 275 | 0 | return createMapMatcher<ExactMapMatcher>(matcher.matcher_tree().exact_match_map(), data_input, | 276 | 0 | on_no_match); | 277 | 0 | } | 278 | 0 | case MatcherType::MatcherTree::kPrefixMatchMap: { | 279 | 0 | return createMapMatcher<PrefixMapMatcher>(matcher.matcher_tree().prefix_match_map(), | 280 | 0 | data_input, on_no_match); | 281 | 0 | } | 282 | 0 | case MatcherType::MatcherTree::TREE_TYPE_NOT_SET: | 283 | 0 | PANIC("unexpected matcher type"); | 284 | 0 | case MatcherType::MatcherTree::kCustomMatch: { | 285 | 0 | auto& factory = Config::Utility::getAndCheckFactory<CustomMatcherFactory<DataType>>( | 286 | 0 | matcher.matcher_tree().custom_match()); | 287 | 0 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 288 | 0 | matcher.matcher_tree().custom_match().typed_config(), | 289 | 0 | server_factory_context_.messageValidationVisitor(), factory); | 290 | 0 | return factory.createCustomMatcherFactoryCb(*message, server_factory_context_, data_input, | 291 | 0 | on_no_match, *this); | 292 | 0 | } | 293 | 35 | } | 294 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 295 | 0 | } |
|
296 | | |
297 | | template <template <class> class MapMatcherType, class MapType> |
298 | | MatchTreeFactoryCb<DataType> |
299 | | createMapMatcher(const MapType& map, DataInputFactoryCb<DataType> data_input, |
300 | 16.4k | absl::optional<OnMatchFactoryCb<DataType>>& on_no_match) { |
301 | 16.4k | std::vector<std::pair<std::string, OnMatchFactoryCb<DataType>>> match_children; |
302 | 16.4k | match_children.reserve(map.map().size()); |
303 | | |
304 | 54.1k | for (const auto& children : map.map()) { |
305 | 54.1k | match_children.push_back( |
306 | 54.1k | std::make_pair(children.first, *MatchTreeFactory::createOnMatch(children.second))); |
307 | 54.1k | } |
308 | | |
309 | 16.4k | return [match_children, data_input, on_no_match]() { |
310 | 14.0k | auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>( |
311 | 14.0k | data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); |
312 | 46.6k | for (const auto& children : match_children) { |
313 | 46.6k | multimap_matcher->addChild(children.first, children.second()); |
314 | 46.6k | } |
315 | 14.0k | return multimap_matcher; |
316 | 14.0k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Line | Count | Source | 309 | 7.01k | return [match_children, data_input, on_no_match]() { | 310 | 7.01k | auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>( | 311 | 7.01k | data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 312 | 27.5k | for (const auto& children : match_children) { | 313 | 27.5k | multimap_matcher->addChild(children.first, children.second()); | 314 | 27.5k | } | 315 | 7.01k | return multimap_matcher; | 316 | 7.01k | }; |
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Line | Count | Source | 309 | 6.98k | return [match_children, data_input, on_no_match]() { | 310 | 6.98k | auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>( | 311 | 6.98k | data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 312 | 19.0k | for (const auto& children : match_children) { | 313 | 19.0k | multimap_matcher->addChild(children.first, children.second()); | 314 | 19.0k | } | 315 | 6.98k | return multimap_matcher; | 316 | 6.98k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&)::{lambda()#1}::operator()() const |
317 | 16.4k | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Line | Count | Source | 300 | 8.28k | absl::optional<OnMatchFactoryCb<DataType>>& on_no_match) { | 301 | 8.28k | std::vector<std::pair<std::string, OnMatchFactoryCb<DataType>>> match_children; | 302 | 8.28k | match_children.reserve(map.map().size()); | 303 | | | 304 | 32.1k | for (const auto& children : map.map()) { | 305 | 32.1k | match_children.push_back( | 306 | 32.1k | std::make_pair(children.first, *MatchTreeFactory::createOnMatch(children.second))); | 307 | 32.1k | } | 308 | | | 309 | 8.28k | return [match_children, data_input, on_no_match]() { | 310 | 8.28k | auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>( | 311 | 8.28k | data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 312 | 8.28k | for (const auto& children : match_children) { | 313 | 8.28k | multimap_matcher->addChild(children.first, children.second()); | 314 | 8.28k | } | 315 | 8.28k | return multimap_matcher; | 316 | 8.28k | }; | 317 | 8.28k | } |
std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Line | Count | Source | 300 | 8.18k | absl::optional<OnMatchFactoryCb<DataType>>& on_no_match) { | 301 | 8.18k | std::vector<std::pair<std::string, OnMatchFactoryCb<DataType>>> match_children; | 302 | 8.18k | match_children.reserve(map.map().size()); | 303 | | | 304 | 22.0k | for (const auto& children : map.map()) { | 305 | 22.0k | match_children.push_back( | 306 | 22.0k | std::make_pair(children.first, *MatchTreeFactory::createOnMatch(children.second))); | 307 | 22.0k | } | 308 | | | 309 | 8.18k | return [match_children, data_input, on_no_match]() { | 310 | 8.18k | auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>( | 311 | 8.18k | data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt); | 312 | 8.18k | for (const auto& children : match_children) { | 313 | 8.18k | multimap_matcher->addChild(children.first, children.second()); | 314 | 8.18k | } | 315 | 8.18k | return multimap_matcher; | 316 | 8.18k | }; | 317 | 8.18k | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::MatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::MatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::MatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Network::UdpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Network::UdpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap>(envoy::config::common::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::ExactMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData> > > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createMapMatcher<Envoy::Matcher::PrefixMapMatcher, xds::type::matcher::v3::Matcher_MatcherTree_MatchMap>(xds::type::matcher::v3::Matcher_MatcherTree_MatchMap const&, std::__1::function<std::__1::unique_ptr<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData>, std::__1::default_delete<Envoy::Matcher::DataInput<Envoy::Http::HttpMatchingData> > > ()>, std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> >&) |
318 | | |
319 | | template <class OnMatchType> |
320 | 89.6k | absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) { |
321 | 89.6k | if (on_match.has_matcher()) { |
322 | 22.9k | return [matcher_factory = std::move(create(on_match.matcher()))]() { |
323 | 19.4k | return OnMatch<DataType>{{}, matcher_factory()}; |
324 | 19.4k | }; Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Line | Count | Source | 322 | 18.8k | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 18.8k | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 18.8k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Line | Count | Source | 322 | 158 | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 158 | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 158 | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const Line | Count | Source | 322 | 418 | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 418 | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 418 | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const |
325 | 66.7k | } else if (on_match.has_action()) { |
326 | 64.9k | auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>( |
327 | 64.9k | on_match.action()); |
328 | 64.9k | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( |
329 | 64.9k | on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(), |
330 | 64.9k | factory); |
331 | | |
332 | 64.9k | auto action_factory = factory.createActionFactoryCb( |
333 | 64.9k | *message, action_factory_context_, server_factory_context_.messageValidationVisitor()); |
334 | 64.9k | return [action_factory] { return OnMatch<DataType>{action_factory, {}}; }; Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Line | Count | Source | 334 | 55.1k | return [action_factory] { return OnMatch<DataType>{action_factory, {}}; }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const |
335 | 64.9k | } |
336 | | |
337 | 1.73k | return absl::nullopt; |
338 | 89.6k | } std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 320 | 88.1k | absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) { | 321 | 88.1k | if (on_match.has_matcher()) { | 322 | 22.3k | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 22.3k | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 22.3k | }; | 325 | 65.8k | } else if (on_match.has_action()) { | 326 | 64.9k | auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>( | 327 | 64.9k | on_match.action()); | 328 | 64.9k | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 329 | 64.9k | on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(), | 330 | 64.9k | factory); | 331 | | | 332 | 64.9k | auto action_factory = factory.createActionFactoryCb( | 333 | 64.9k | *message, action_factory_context_, server_factory_context_.messageValidationVisitor()); | 334 | 64.9k | return [action_factory] { return OnMatch<DataType>{action_factory, {}}; }; | 335 | 64.9k | } | 336 | | | 337 | 897 | return absl::nullopt; | 338 | 88.1k | } |
Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 320 | 185 | absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) { | 321 | 185 | if (on_match.has_matcher()) { | 322 | 158 | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 158 | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 158 | }; | 325 | 158 | } else if (on_match.has_action()) { | 326 | 2 | auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>( | 327 | 2 | on_match.action()); | 328 | 2 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 329 | 2 | on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(), | 330 | 2 | factory); | 331 | | | 332 | 2 | auto action_factory = factory.createActionFactoryCb( | 333 | 2 | *message, action_factory_context_, server_factory_context_.messageValidationVisitor()); | 334 | 2 | return [action_factory] { return OnMatch<DataType>{action_factory, {}}; }; | 335 | 2 | } | 336 | | | 337 | 25 | return absl::nullopt; | 338 | 185 | } |
Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::MatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 320 | 2 | absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) { | 321 | 2 | if (on_match.has_matcher()) { | 322 | 0 | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 0 | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 0 | }; | 325 | 2 | } else if (on_match.has_action()) { | 326 | 0 | auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>( | 327 | 0 | on_match.action()); | 328 | 0 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 329 | 0 | on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(), | 330 | 0 | factory); | 331 | |
| 332 | 0 | auto action_factory = factory.createActionFactoryCb( | 333 | 0 | *message, action_factory_context_, server_factory_context_.messageValidationVisitor()); | 334 | 0 | return [action_factory] { return OnMatch<DataType>{action_factory, {}}; }; | 335 | 0 | } | 336 | | | 337 | 2 | return absl::nullopt; | 338 | 2 | } |
Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&) Line | Count | Source | 320 | 1.29k | absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) { | 321 | 1.29k | if (on_match.has_matcher()) { | 322 | 421 | return [matcher_factory = std::move(create(on_match.matcher()))]() { | 323 | 421 | return OnMatch<DataType>{{}, matcher_factory()}; | 324 | 421 | }; | 325 | 874 | } else if (on_match.has_action()) { | 326 | 65 | auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>( | 327 | 65 | on_match.action()); | 328 | 65 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 329 | 65 | on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(), | 330 | 65 | factory); | 331 | | | 332 | 65 | auto action_factory = factory.createActionFactoryCb( | 333 | 65 | *message, action_factory_context_, server_factory_context_.messageValidationVisitor()); | 334 | 65 | return [action_factory] { return OnMatch<DataType>{action_factory, {}}; }; | 335 | 65 | } | 336 | | | 337 | 809 | return absl::nullopt; | 338 | 1.29k | } |
Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&) |
339 | | |
340 | | template <class SinglePredicateType> |
341 | 14.1k | InputMatcherFactoryCb createInputMatcher(const SinglePredicateType& predicate) { |
342 | 14.1k | switch (predicate.matcher_case()) { |
343 | 14.1k | case SinglePredicateType::kValueMatch: |
344 | 14.1k | return [&context = server_factory_context_, value_match = predicate.value_match()]() { |
345 | 11.8k | return std::make_unique<StringInputMatcher<std::decay_t<decltype(value_match)>>>( |
346 | 11.8k | value_match, context); |
347 | 11.8k | }; Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Line | Count | Source | 344 | 11.8k | return [&context = server_factory_context_, value_match = predicate.value_match()]() { | 345 | 11.8k | return std::make_unique<StringInputMatcher<std::decay_t<decltype(value_match)>>>( | 346 | 11.8k | value_match, context); | 347 | 11.8k | }; |
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&)::{lambda()#1}::operator()() const |
348 | 7 | case SinglePredicateType::kCustomMatch: { |
349 | 7 | auto& factory = |
350 | 7 | Config::Utility::getAndCheckFactory<InputMatcherFactory>(predicate.custom_match()); |
351 | 7 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( |
352 | 7 | predicate.custom_match().typed_config(), |
353 | 7 | server_factory_context_.messageValidationVisitor(), factory); |
354 | 7 | return factory.createInputMatcherFactoryCb(*message, server_factory_context_); |
355 | 0 | } |
356 | 0 | case SinglePredicateType::MATCHER_NOT_SET: |
357 | 0 | PANIC_DUE_TO_PROTO_UNSET; |
358 | 14.1k | } |
359 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; |
360 | 0 | } Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Line | Count | Source | 341 | 14.1k | InputMatcherFactoryCb createInputMatcher(const SinglePredicateType& predicate) { | 342 | 14.1k | switch (predicate.matcher_case()) { | 343 | 14.1k | case SinglePredicateType::kValueMatch: | 344 | 14.1k | return [&context = server_factory_context_, value_match = predicate.value_match()]() { | 345 | 14.1k | return std::make_unique<StringInputMatcher<std::decay_t<decltype(value_match)>>>( | 346 | 14.1k | value_match, context); | 347 | 14.1k | }; | 348 | 7 | case SinglePredicateType::kCustomMatch: { | 349 | 7 | auto& factory = | 350 | 7 | Config::Utility::getAndCheckFactory<InputMatcherFactory>(predicate.custom_match()); | 351 | 7 | ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig( | 352 | 7 | predicate.custom_match().typed_config(), | 353 | 7 | server_factory_context_.messageValidationVisitor(), factory); | 354 | 7 | return factory.createInputMatcherFactoryCb(*message, server_factory_context_); | 355 | 0 | } | 356 | 0 | case SinglePredicateType::MATCHER_NOT_SET: | 357 | 0 | PANIC_DUE_TO_PROTO_UNSET; | 358 | 14.1k | } | 359 | 0 | PANIC_DUE_TO_CORRUPT_ENUM; | 360 | 0 | } |
Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Extensions::NetworkFilters::GenericProxy::MatchInput, Envoy::Extensions::NetworkFilters::GenericProxy::RouteActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createInputMatcher<envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(envoy::config::common::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) Unexecuted instantiation: std::__1::function<std::__1::unique_ptr<Envoy::Matcher::InputMatcher, std::__1::default_delete<Envoy::Matcher::InputMatcher> > ()> Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createInputMatcher<xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate>(xds::type::matcher::v3::Matcher_MatcherList_Predicate_SinglePredicate const&) |
361 | | |
362 | | const std::string stats_prefix_; |
363 | | ActionFactoryContext& action_factory_context_; |
364 | | Server::Configuration::ServerFactoryContext& server_factory_context_; |
365 | | MatchInputFactory<DataType> match_input_factory_; |
366 | | }; |
367 | | } // namespace Matcher |
368 | | } // namespace Envoy |