Coverage Report

Created: 2024-09-19 09:45

/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