Coverage Report

Created: 2023-11-12 09:30

/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.50k
  template <typename... Args> ActionBase(Args... args) : Base(args...) {}
Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::common::matcher::action::v3::SkipFilter, Envoy::Matcher::Action>::ActionBase<>()
Envoy::Matcher::ActionBase<envoy::config::route::v3::Route, Envoy::Matcher::Action>::ActionBase<>()
Line
Count
Source
29
1.50k
  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::config::rbac::v3::Action, Envoy::Matcher::Action>::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::udp::udp_proxy::v3::Route, Envoy::Matcher::Action>::ActionBase<>()
Unexecuted instantiation: Envoy::Matcher::ActionBase<google::protobuf::Any, Envoy::Matcher::Action>::ActionBase<>()
30
31
1.50k
  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.50k
  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<envoy::extensions::filters::common::matcher::action::v3::SkipFilter, 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::config::rbac::v3::Action, Envoy::Matcher::Action>::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::extensions::filters::udp::udp_proxy::v3::Route, Envoy::Matcher::Action>::typeUrl() const
32
33
3.00k
  static absl::string_view staticTypeUrl() {
34
3.00k
    const static std::string typeUrl = ProtoType().GetTypeName();
35
36
3.00k
    return typeUrl;
37
3.00k
  }
Envoy::Matcher::ActionBase<envoy::config::route::v3::Route, Envoy::Matcher::Action>::staticTypeUrl()
Line
Count
Source
33
3.00k
  static absl::string_view staticTypeUrl() {
34
3.00k
    const static std::string typeUrl = ProtoType().GetTypeName();
35
36
3.00k
    return typeUrl;
37
3.00k
  }
Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::config::route::v3::RouteList, Envoy::Matcher::Action>::staticTypeUrl()
Unexecuted instantiation: Envoy::Matcher::ActionBase<envoy::extensions::filters::common::matcher::action::v3::SkipFilter, 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::config::rbac::v3::Action, Envoy::Matcher::Action>::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::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.40k
                                             const DataType& data) {
49
3.40k
  const auto result = match_tree.match(data);
50
3.40k
  if (result.match_state_ == MatchState::UnableToMatch) {
51
0
    return MaybeMatchResult{nullptr, MatchState::UnableToMatch};
52
0
  }
53
54
3.40k
  if (!result.on_match_) {
55
824
    return {nullptr, MatchState::MatchComplete};
56
824
  }
57
58
2.57k
  if (result.on_match_->matcher_) {
59
1.07k
    return evaluateMatch(*result.on_match_->matcher_, data);
60
1.07k
  }
61
62
1.50k
  return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete};
63
2.57k
}
config.cc:Envoy::Matcher::MaybeMatchResult Envoy::Matcher::evaluateMatch<Envoy::Http::HttpMatchingData>(Envoy::Matcher::MatchTree<Envoy::Http::HttpMatchingData>&, Envoy::Http::HttpMatchingData const&)
Line
Count
Source
48
492
                                             const DataType& data) {
49
492
  const auto result = match_tree.match(data);
50
492
  if (result.match_state_ == MatchState::UnableToMatch) {
51
0
    return MaybeMatchResult{nullptr, MatchState::UnableToMatch};
52
0
  }
53
54
492
  if (!result.on_match_) {
55
255
    return {nullptr, MatchState::MatchComplete};
56
255
  }
57
58
237
  if (result.on_match_->matcher_) {
59
237
    return evaluateMatch(*result.on_match_->matcher_, data);
60
237
  }
61
62
0
  return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete};
63
237
}
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
2.28k
                                             const DataType& data) {
49
2.28k
  const auto result = match_tree.match(data);
50
2.28k
  if (result.match_state_ == MatchState::UnableToMatch) {
51
0
    return MaybeMatchResult{nullptr, MatchState::UnableToMatch};
52
0
  }
53
54
2.28k
  if (!result.on_match_) {
55
0
    return {nullptr, MatchState::MatchComplete};
56
0
  }
57
58
2.28k
  if (result.on_match_->matcher_) {
59
789
    return evaluateMatch(*result.on_match_->matcher_, data);
60
789
  }
61
62
1.50k
  return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete};
63
2.28k
}
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&)
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
600
                                             const DataType& data) {
49
600
  const auto result = match_tree.match(data);
50
600
  if (result.match_state_ == MatchState::UnableToMatch) {
51
0
    return MaybeMatchResult{nullptr, MatchState::UnableToMatch};
52
0
  }
53
54
600
  if (!result.on_match_) {
55
566
    return {nullptr, MatchState::MatchComplete};
56
566
  }
57
58
34
  if (result.on_match_->matcher_) {
59
34
    return evaluateMatch(*result.on_match_->matcher_, data);
60
34
  }
61
62
0
  return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete};
63
34
}
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
22
                                             const DataType& data) {
49
22
  const auto result = match_tree.match(data);
50
22
  if (result.match_state_ == MatchState::UnableToMatch) {
51
0
    return MaybeMatchResult{nullptr, MatchState::UnableToMatch};
52
0
  }
53
54
22
  if (!result.on_match_) {
55
3
    return {nullptr, MatchState::MatchComplete};
56
3
  }
57
58
19
  if (result.on_match_->matcher_) {
59
19
    return evaluateMatch(*result.on_match_->matcher_, data);
60
19
  }
61
62
0
  return MaybeMatchResult{result.on_match_->action_cb_, MatchState::MatchComplete};
63
19
}
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: 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
12.1k
      : 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
11.9k
      : 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
172
      : on_no_match_(std::move(on_no_match)) {}
Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Network::UdpMatchingData>::AnyMatcher(std::__1::optional<Envoy::Matcher::OnMatch<Envoy::Network::UdpMatchingData> >)
76
77
2.42k
  typename MatchTree<DataType>::MatchResult match(const DataType&) override {
78
2.42k
    return {MatchState::MatchComplete, on_no_match_};
79
2.42k
  }
Envoy::Matcher::AnyMatcher<Envoy::Http::HttpMatchingData>::match(Envoy::Http::HttpMatchingData const&)
Line
Count
Source
77
2.42k
  typename MatchTree<DataType>::MatchResult match(const DataType&) override {
78
2.42k
    return {MatchState::MatchComplete, on_no_match_};
79
2.42k
  }
Unexecuted instantiation: Envoy::Matcher::AnyMatcher<Envoy::Network::MatchingData>::match(Envoy::Network::MatchingData 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
11.0k
      : 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
11.0k
      : 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
35
      : validator_(validator), validation_visitor_(validation_visitor) {}
Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::UdpMatchingData>::MatchInputFactory(Envoy::ProtobufMessage::ValidationVisitor&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Network::UdpMatchingData>&)
91
92
30.6k
  DataInputFactoryCb<DataType> createDataInput(const xds::core::v3::TypedExtensionConfig& config) {
93
30.6k
    return createDataInputBase(config);
94
30.6k
  }
Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInput(xds::core::v3::TypedExtensionConfig const&)
Line
Count
Source
92
30.6k
  DataInputFactoryCb<DataType> createDataInput(const xds::core::v3::TypedExtensionConfig& config) {
93
30.6k
    return createDataInputBase(config);
94
30.6k
  }
Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::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
1.67k
  createDataInput(const envoy::config::core::v3::TypedExtensionConfig& config) {
98
1.67k
    return createDataInputBase(config);
99
1.67k
  }
Envoy::Matcher::MatchInputFactory<Envoy::Http::HttpMatchingData>::createDataInput(envoy::config::core::v3::TypedExtensionConfig const&)
Line
Count
Source
97
1.67k
  createDataInput(const envoy::config::core::v3::TypedExtensionConfig& config) {
98
1.67k
    return createDataInputBase(config);
99
1.67k
  }
Unexecuted instantiation: Envoy::Matcher::MatchInputFactory<Envoy::Network::MatchingData>::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::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::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
32.3k
  DataInputFactoryCb<DataType> createDataInputBase(const TypedExtensionConfigType& config) {
119
32.3k
    auto* factory = Config::Utility::getFactory<DataInputFactory<DataType>>(config);
120
32.3k
    if (factory != nullptr) {
121
32.2k
      validation_visitor_.validateDataInput(*factory, config.typed_config().type_url());
122
123
32.2k
      ProtobufTypes::MessagePtr message =
124
32.2k
          Config::Utility::translateAnyToFactoryConfig(config.typed_config(), validator_, *factory);
125
32.2k
      auto data_input = factory->createDataInputFactoryCb(*message, validator_);
126
32.2k
      return data_input;
127
32.2k
    }
128
129
    // If the provided config doesn't match a typed input, assume that this is one of the common
130
    // inputs.
131
129
    auto& common_input_factory =
132
129
        Config::Utility::getAndCheckFactory<CommonProtocolInputFactory>(config);
133
129
    ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
134
129
        config.typed_config(), validator_, common_input_factory);
135
129
    auto common_input =
136
129
        common_input_factory.createCommonProtocolInputFactoryCb(*message, validator_);
137
129
    return
138
129
        [common_input]() { return std::make_unique<CommonProtocolInputWrapper>(common_input()); };
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::Http::HttpMatchingData>::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<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::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
32.3k
  }
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.6k
  DataInputFactoryCb<DataType> createDataInputBase(const TypedExtensionConfigType& config) {
119
30.6k
    auto* factory = Config::Utility::getFactory<DataInputFactory<DataType>>(config);
120
30.6k
    if (factory != nullptr) {
121
30.5k
      validation_visitor_.validateDataInput(*factory, config.typed_config().type_url());
122
123
30.5k
      ProtobufTypes::MessagePtr message =
124
30.5k
          Config::Utility::translateAnyToFactoryConfig(config.typed_config(), validator_, *factory);
125
30.5k
      auto data_input = factory->createDataInputFactoryCb(*message, validator_);
126
30.5k
      return data_input;
127
30.5k
    }
128
129
    // If the provided config doesn't match a typed input, assume that this is one of the common
130
    // inputs.
131
66
    auto& common_input_factory =
132
66
        Config::Utility::getAndCheckFactory<CommonProtocolInputFactory>(config);
133
66
    ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
134
66
        config.typed_config(), validator_, common_input_factory);
135
66
    auto common_input =
136
66
        common_input_factory.createCommonProtocolInputFactoryCb(*message, validator_);
137
66
    return
138
66
        [common_input]() { return std::make_unique<CommonProtocolInputWrapper>(common_input()); };
139
30.6k
  }
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
1.67k
  DataInputFactoryCb<DataType> createDataInputBase(const TypedExtensionConfigType& config) {
119
1.67k
    auto* factory = Config::Utility::getFactory<DataInputFactory<DataType>>(config);
120
1.67k
    if (factory != nullptr) {
121
1.61k
      validation_visitor_.validateDataInput(*factory, config.typed_config().type_url());
122
123
1.61k
      ProtobufTypes::MessagePtr message =
124
1.61k
          Config::Utility::translateAnyToFactoryConfig(config.typed_config(), validator_, *factory);
125
1.61k
      auto data_input = factory->createDataInputFactoryCb(*message, validator_);
126
1.61k
      return data_input;
127
1.61k
    }
128
129
    // If the provided config doesn't match a typed input, assume that this is one of the common
130
    // inputs.
131
63
    auto& common_input_factory =
132
63
        Config::Utility::getAndCheckFactory<CommonProtocolInputFactory>(config);
133
63
    ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
134
63
        config.typed_config(), validator_, common_input_factory);
135
63
    auto common_input =
136
63
        common_input_factory.createCommonProtocolInputFactoryCb(*message, validator_);
137
63
    return
138
63
        [common_input]() { return std::make_unique<CommonProtocolInputWrapper>(common_input()); };
139
1.67k
  }
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::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
9.40k
        match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {}
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::MatchTreeFactory(Envoy::Http::Matching::HttpFilterActionContext&, Envoy::Server::Configuration::ServerFactoryContext&, Envoy::Matcher::MatchTreeValidationVisitor<Envoy::Http::HttpMatchingData>&)
Line
Count
Source
157
1.37k
        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.89k
        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
35
        match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {}
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
99
        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
3
        match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {}
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>&)
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>&)
Line
Count
Source
157
2
        match_input_factory_(factory_context.messageValidationVisitor(), validation_visitor) {}
158
159
  // TODO(snowp): Remove this type parameter once we only have one Matcher proto.
160
28.9k
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
28.9k
    switch (config.matcher_type_case()) {
162
10.8k
    case MatcherType::kMatcherTree:
163
10.8k
      return createTreeMatcher(config);
164
2.87k
    case MatcherType::kMatcherList:
165
2.87k
      return createListMatcher(config);
166
15.2k
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
15.2k
      return createAnyMatcher(config);
168
28.9k
    }
169
0
    PANIC_DUE_TO_CORRUPT_ENUM;
170
0
  }
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::Http::Matching::HttpFilterActionContext>::create<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)
Line
Count
Source
160
1.60k
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
1.60k
    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
1.60k
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
1.60k
      return createAnyMatcher(config);
168
1.60k
    }
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::Http::Matching::HttpFilterActionContext>::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::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
26.9k
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
26.9k
    switch (config.matcher_type_case()) {
162
10.8k
    case MatcherType::kMatcherTree:
163
10.8k
      return createTreeMatcher(config);
164
2.87k
    case MatcherType::kMatcherList:
165
2.87k
      return createListMatcher(config);
166
13.2k
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
13.2k
      return createAnyMatcher(config);
168
26.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
174
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
174
    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
174
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
174
      return createAnyMatcher(config);
168
174
    }
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::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
141
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
141
    switch (config.matcher_type_case()) {
162
1
    case MatcherType::kMatcherTree:
163
1
      return createTreeMatcher(config);
164
0
    case MatcherType::kMatcherList:
165
0
      return createListMatcher(config);
166
140
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
140
      return createAnyMatcher(config);
168
141
    }
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
22
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
22
    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
22
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
22
      return createAnyMatcher(config);
168
22
    }
169
0
    PANIC_DUE_TO_CORRUPT_ENUM;
170
0
  }
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&)
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&)
Line
Count
Source
160
72
  template <class MatcherType> MatchTreeFactoryCb<DataType> create(const MatcherType& config) {
161
72
    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
72
    case MatcherType::MATCHER_TYPE_NOT_SET:
167
72
      return createAnyMatcher(config);
168
72
    }
169
0
    PANIC_DUE_TO_CORRUPT_ENUM;
170
0
  }
171
172
  absl::optional<OnMatchFactoryCb<DataType>>
173
77.3k
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
77.3k
    return createOnMatchBase(on_match);
175
77.3k
  }
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
173
1.60k
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
1.60k
    return createOnMatchBase(on_match);
175
1.60k
  }
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Router::RouteActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
173
75.3k
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
75.3k
    return createOnMatchBase(on_match);
175
75.3k
  }
Envoy::Matcher::MatchTreeFactory<Envoy::Network::MatchingData, Envoy::Server::Configuration::ServerFactoryContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
173
174
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
174
    return createOnMatchBase(on_match);
175
174
  }
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::Filters::Common::RBAC::ActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
173
140
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
140
    return createOnMatchBase(on_match);
175
140
  }
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::RateLimitQuota::RateLimitOnMatchActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
173
22
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
22
    return createOnMatchBase(on_match);
175
22
  }
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Network::UdpMatchingData, Envoy::Extensions::UdpFilters::UdpProxy::Router::RouteActionContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Extensions::HttpFilters::CustomResponse::CustomResponseActionFactoryContext>::createOnMatch(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
173
72
  createOnMatch(const xds::type::matcher::v3::Matcher::OnMatch& on_match) override {
174
72
    return createOnMatchBase(on_match);
175
72
  }
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::Http::Matching::HttpFilterActionContext>::createOnMatch(envoy::config::common::matcher::v3::Matcher_OnMatch const&)
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::Filters::Common::RBAC::ActionContext>::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::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&)
181
182
private:
183
  template <class MatcherType>
184
15.2k
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
15.2k
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
15.2k
    return [on_no_match]() {
188
12.1k
      return std::make_unique<AnyMatcher<DataType>>(
189
12.1k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
12.1k
    };
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)::{lambda()#1}::operator()() const
Line
Count
Source
187
1.59k
    return [on_no_match]() {
188
1.59k
      return std::make_unique<AnyMatcher<DataType>>(
189
1.59k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
1.59k
    };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::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
10.1k
    return [on_no_match]() {
188
10.1k
      return std::make_unique<AnyMatcher<DataType>>(
189
10.1k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
10.1k
    };
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
172
    return [on_no_match]() {
188
172
      return std::make_unique<AnyMatcher<DataType>>(
189
172
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
172
    };
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
139
    return [on_no_match]() {
188
139
      return std::make_unique<AnyMatcher<DataType>>(
189
139
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
139
    };
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
22
    return [on_no_match]() {
188
22
      return std::make_unique<AnyMatcher<DataType>>(
189
22
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
22
    };
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
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
Line
Count
Source
187
72
    return [on_no_match]() {
188
72
      return std::make_unique<AnyMatcher<DataType>>(
189
72
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
72
    };
191
15.2k
  }
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::Http::Matching::HttpFilterActionContext>::createAnyMatcher<xds::type::matcher::v3::Matcher>(xds::type::matcher::v3::Matcher const&)
Line
Count
Source
184
1.60k
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
1.60k
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
1.60k
    return [on_no_match]() {
188
1.60k
      return std::make_unique<AnyMatcher<DataType>>(
189
1.60k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
1.60k
    };
191
1.60k
  }
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::Http::Matching::HttpFilterActionContext>::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::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
13.2k
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
13.2k
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
13.2k
    return [on_no_match]() {
188
13.2k
      return std::make_unique<AnyMatcher<DataType>>(
189
13.2k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
13.2k
    };
191
13.2k
  }
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
174
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
174
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
174
    return [on_no_match]() {
188
174
      return std::make_unique<AnyMatcher<DataType>>(
189
174
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
174
    };
191
174
  }
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
140
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
140
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
140
    return [on_no_match]() {
188
140
      return std::make_unique<AnyMatcher<DataType>>(
189
140
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
140
    };
191
140
  }
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
22
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
22
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
22
    return [on_no_match]() {
188
22
      return std::make_unique<AnyMatcher<DataType>>(
189
22
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
22
    };
191
22
  }
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&)
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&)
Line
Count
Source
184
72
  MatchTreeFactoryCb<DataType> createAnyMatcher(const MatcherType& config) {
185
72
    auto on_no_match = createOnMatch(config.on_no_match());
186
187
72
    return [on_no_match]() {
188
72
      return std::make_unique<AnyMatcher<DataType>>(
189
72
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
190
72
    };
191
72
  }
192
  template <class MatcherType>
193
2.87k
  MatchTreeFactoryCb<DataType> createListMatcher(const MatcherType& config) {
194
2.87k
    std::vector<std::pair<FieldMatcherFactoryCb<DataType>, OnMatchFactoryCb<DataType>>>
195
2.87k
        matcher_factories;
196
2.87k
    matcher_factories.reserve(config.matcher_list().matchers().size());
197
5.51k
    for (const auto& matcher : config.matcher_list().matchers()) {
198
5.51k
      matcher_factories.push_back(std::make_pair(
199
5.51k
          createFieldMatcher<typename MatcherType::MatcherList::Predicate>(matcher.predicate()),
200
5.51k
          *createOnMatch(matcher.on_match())));
201
5.51k
    }
202
203
2.87k
    auto on_no_match = createOnMatch(config.on_no_match());
204
2.87k
    return [matcher_factories, on_no_match]() {
205
1.73k
      auto list_matcher = std::make_unique<ListMatcher<DataType>>(
206
1.73k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
207
208
3.33k
      for (const auto& matcher : matcher_factories) {
209
3.33k
        list_matcher->addMatcher(matcher.first(), matcher.second());
210
3.33k
      }
211
212
1.73k
      return list_matcher;
213
1.73k
    };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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.73k
    return [matcher_factories, on_no_match]() {
205
1.73k
      auto list_matcher = std::make_unique<ListMatcher<DataType>>(
206
1.73k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
207
208
3.33k
      for (const auto& matcher : matcher_factories) {
209
3.33k
        list_matcher->addMatcher(matcher.first(), matcher.second());
210
3.33k
      }
211
212
1.73k
      return list_matcher;
213
1.73k
    };
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::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
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::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
214
2.87k
  }
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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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.87k
  MatchTreeFactoryCb<DataType> createListMatcher(const MatcherType& config) {
194
2.87k
    std::vector<std::pair<FieldMatcherFactoryCb<DataType>, OnMatchFactoryCb<DataType>>>
195
2.87k
        matcher_factories;
196
2.87k
    matcher_factories.reserve(config.matcher_list().matchers().size());
197
5.51k
    for (const auto& matcher : config.matcher_list().matchers()) {
198
5.51k
      matcher_factories.push_back(std::make_pair(
199
5.51k
          createFieldMatcher<typename MatcherType::MatcherList::Predicate>(matcher.predicate()),
200
5.51k
          *createOnMatch(matcher.on_match())));
201
5.51k
    }
202
203
2.87k
    auto on_no_match = createOnMatch(config.on_no_match());
204
2.87k
    return [matcher_factories, on_no_match]() {
205
2.87k
      auto list_matcher = std::make_unique<ListMatcher<DataType>>(
206
2.87k
          on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
207
208
2.87k
      for (const auto& matcher : matcher_factories) {
209
2.87k
        list_matcher->addMatcher(matcher.first(), matcher.second());
210
2.87k
      }
211
212
2.87k
      return list_matcher;
213
2.87k
    };
214
2.87k
  }
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::Filters::Common::RBAC::ActionContext>::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::Filters::Common::RBAC::ActionContext>::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::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&)
215
216
  template <class MatcherT, class PredicateType, class FieldPredicateType>
217
  FieldMatcherFactoryCb<DataType> createAggregateFieldMatcherFactoryCb(
218
6.78k
      const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) {
219
6.78k
    std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers;
220
21.1k
    for (const auto& predicate : predicates) {
221
21.1k
      sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate));
222
21.1k
    }
223
224
6.78k
    return [sub_matchers]() {
225
5.65k
      std::vector<FieldMatcherPtr<DataType>> matchers;
226
5.65k
      matchers.reserve(sub_matchers.size());
227
18.1k
      for (const auto& factory_cb : sub_matchers) {
228
18.1k
        matchers.emplace_back(factory_cb());
229
18.1k
      }
230
231
5.65k
      return std::make_unique<MatcherT>(std::move(matchers));
232
5.65k
    };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
4.02k
    return [sub_matchers]() {
225
4.02k
      std::vector<FieldMatcherPtr<DataType>> matchers;
226
4.02k
      matchers.reserve(sub_matchers.size());
227
14.1k
      for (const auto& factory_cb : sub_matchers) {
228
14.1k
        matchers.emplace_back(factory_cb());
229
14.1k
      }
230
231
4.02k
      return std::make_unique<MatcherT>(std::move(matchers));
232
4.02k
    };
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.63k
    return [sub_matchers]() {
225
1.63k
      std::vector<FieldMatcherPtr<DataType>> matchers;
226
1.63k
      matchers.reserve(sub_matchers.size());
227
3.99k
      for (const auto& factory_cb : sub_matchers) {
228
3.99k
        matchers.emplace_back(factory_cb());
229
3.99k
      }
230
231
1.63k
      return std::make_unique<MatcherT>(std::move(matchers));
232
1.63k
    };
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::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
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::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
233
6.78k
  }
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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
4.54k
      const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) {
219
4.54k
    std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers;
220
15.6k
    for (const auto& predicate : predicates) {
221
15.6k
      sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate));
222
15.6k
    }
223
224
4.54k
    return [sub_matchers]() {
225
4.54k
      std::vector<FieldMatcherPtr<DataType>> matchers;
226
4.54k
      matchers.reserve(sub_matchers.size());
227
4.54k
      for (const auto& factory_cb : sub_matchers) {
228
4.54k
        matchers.emplace_back(factory_cb());
229
4.54k
      }
230
231
4.54k
      return std::make_unique<MatcherT>(std::move(matchers));
232
4.54k
    };
233
4.54k
  }
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
2.24k
      const Protobuf::RepeatedPtrField<FieldPredicateType>& predicates) {
219
2.24k
    std::vector<FieldMatcherFactoryCb<DataType>> sub_matchers;
220
5.47k
    for (const auto& predicate : predicates) {
221
5.47k
      sub_matchers.emplace_back(createFieldMatcher<PredicateType>(predicate));
222
5.47k
    }
223
224
2.24k
    return [sub_matchers]() {
225
2.24k
      std::vector<FieldMatcherPtr<DataType>> matchers;
226
2.24k
      matchers.reserve(sub_matchers.size());
227
2.24k
      for (const auto& factory_cb : sub_matchers) {
228
2.24k
        matchers.emplace_back(factory_cb());
229
2.24k
      }
230
231
2.24k
      return std::make_unique<MatcherT>(std::move(matchers));
232
2.24k
    };
233
2.24k
  }
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::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&)
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>, 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::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::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::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&)
234
235
  template <class PredicateType, class FieldMatcherType>
236
29.2k
  FieldMatcherFactoryCb<DataType> createFieldMatcher(const FieldMatcherType& field_predicate) {
237
29.2k
    switch (field_predicate.match_type_case()) {
238
19.8k
    case (PredicateType::kSinglePredicate): {
239
19.8k
      auto data_input =
240
19.8k
          match_input_factory_.createDataInput(field_predicate.single_predicate().input());
241
19.8k
      auto input_matcher = createInputMatcher(field_predicate.single_predicate());
242
243
19.8k
      return [data_input, input_matcher]() {
244
15.8k
        return std::make_unique<SingleFieldMatcher<DataType>>(data_input(), input_matcher());
245
15.8k
      };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
15.8k
      return [data_input, input_matcher]() {
244
15.8k
        return std::make_unique<SingleFieldMatcher<DataType>>(data_input(), input_matcher());
245
15.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::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
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::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
246
0
    }
247
4.54k
    case (PredicateType::kOrMatcher):
248
4.54k
      return createAggregateFieldMatcherFactoryCb<AnyFieldMatcher<DataType>, PredicateType>(
249
4.54k
          field_predicate.or_matcher().predicate());
250
2.24k
    case (PredicateType::kAndMatcher):
251
2.24k
      return createAggregateFieldMatcherFactoryCb<AllFieldMatcher<DataType>, PredicateType>(
252
2.24k
          field_predicate.and_matcher().predicate());
253
2.59k
    case (PredicateType::kNotMatcher): {
254
2.59k
      auto matcher_factory = createFieldMatcher<PredicateType>(field_predicate.not_matcher());
255
256
2.59k
      return [matcher_factory]() {
257
1.58k
        return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory());
258
1.58k
      };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
256
1.58k
      return [matcher_factory]() {
257
1.58k
        return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory());
258
1.58k
      };
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::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
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::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
259
0
    }
260
0
    case PredicateType::MATCH_TYPE_NOT_SET:
261
0
      PANIC_DUE_TO_PROTO_UNSET;
262
29.2k
    }
263
0
    PANIC_DUE_TO_CORRUPT_ENUM;
264
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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
29.2k
  FieldMatcherFactoryCb<DataType> createFieldMatcher(const FieldMatcherType& field_predicate) {
237
29.2k
    switch (field_predicate.match_type_case()) {
238
19.8k
    case (PredicateType::kSinglePredicate): {
239
19.8k
      auto data_input =
240
19.8k
          match_input_factory_.createDataInput(field_predicate.single_predicate().input());
241
19.8k
      auto input_matcher = createInputMatcher(field_predicate.single_predicate());
242
243
19.8k
      return [data_input, input_matcher]() {
244
19.8k
        return std::make_unique<SingleFieldMatcher<DataType>>(data_input(), input_matcher());
245
19.8k
      };
246
0
    }
247
4.54k
    case (PredicateType::kOrMatcher):
248
4.54k
      return createAggregateFieldMatcherFactoryCb<AnyFieldMatcher<DataType>, PredicateType>(
249
4.54k
          field_predicate.or_matcher().predicate());
250
2.24k
    case (PredicateType::kAndMatcher):
251
2.24k
      return createAggregateFieldMatcherFactoryCb<AllFieldMatcher<DataType>, PredicateType>(
252
2.24k
          field_predicate.and_matcher().predicate());
253
2.59k
    case (PredicateType::kNotMatcher): {
254
2.59k
      auto matcher_factory = createFieldMatcher<PredicateType>(field_predicate.not_matcher());
255
256
2.59k
      return [matcher_factory]() {
257
2.59k
        return std::make_unique<NotFieldMatcher<DataType>>(matcher_factory());
258
2.59k
      };
259
0
    }
260
0
    case PredicateType::MATCH_TYPE_NOT_SET:
261
0
      PANIC_DUE_TO_PROTO_UNSET;
262
29.2k
    }
263
0
    PANIC_DUE_TO_CORRUPT_ENUM;
264
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::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&)
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<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::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&)
265
266
  template <class MatcherType>
267
10.8k
  MatchTreeFactoryCb<DataType> createTreeMatcher(const MatcherType& matcher) {
268
10.8k
    auto data_input = match_input_factory_.createDataInput(matcher.matcher_tree().input());
269
10.8k
    auto on_no_match = createOnMatch(matcher.on_no_match());
270
271
10.8k
    switch (matcher.matcher_tree().tree_type_case()) {
272
5.94k
    case MatcherType::MatcherTree::kExactMatchMap: {
273
5.94k
      return createMapMatcher<ExactMapMatcher>(matcher.matcher_tree().exact_match_map(), data_input,
274
5.94k
                                               on_no_match);
275
0
    }
276
4.65k
    case MatcherType::MatcherTree::kPrefixMatchMap: {
277
4.65k
      return createMapMatcher<PrefixMapMatcher>(matcher.matcher_tree().prefix_match_map(),
278
4.65k
                                                data_input, on_no_match);
279
0
    }
280
0
    case MatcherType::MatcherTree::TREE_TYPE_NOT_SET:
281
0
      PANIC("unexpected matcher type");
282
26
    case MatcherType::MatcherTree::kCustomMatch: {
283
26
      auto& factory = Config::Utility::getAndCheckFactory<CustomMatcherFactory<DataType>>(
284
26
          matcher.matcher_tree().custom_match());
285
26
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
286
26
          matcher.matcher_tree().custom_match().typed_config(),
287
26
          server_factory_context_.messageValidationVisitor(), factory);
288
26
      return factory.createCustomMatcherFactoryCb(*message, server_factory_context_, data_input,
289
26
                                                  on_no_match, *this);
290
0
    }
291
10.8k
    }
292
0
    PANIC_DUE_TO_CORRUPT_ENUM;
293
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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
267
10.8k
  MatchTreeFactoryCb<DataType> createTreeMatcher(const MatcherType& matcher) {
268
10.8k
    auto data_input = match_input_factory_.createDataInput(matcher.matcher_tree().input());
269
10.8k
    auto on_no_match = createOnMatch(matcher.on_no_match());
270
271
10.8k
    switch (matcher.matcher_tree().tree_type_case()) {
272
5.94k
    case MatcherType::MatcherTree::kExactMatchMap: {
273
5.94k
      return createMapMatcher<ExactMapMatcher>(matcher.matcher_tree().exact_match_map(), data_input,
274
5.94k
                                               on_no_match);
275
0
    }
276
4.65k
    case MatcherType::MatcherTree::kPrefixMatchMap: {
277
4.65k
      return createMapMatcher<PrefixMapMatcher>(matcher.matcher_tree().prefix_match_map(),
278
4.65k
                                                data_input, on_no_match);
279
0
    }
280
0
    case MatcherType::MatcherTree::TREE_TYPE_NOT_SET:
281
0
      PANIC("unexpected matcher type");
282
26
    case MatcherType::MatcherTree::kCustomMatch: {
283
26
      auto& factory = Config::Utility::getAndCheckFactory<CustomMatcherFactory<DataType>>(
284
26
          matcher.matcher_tree().custom_match());
285
26
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
286
26
          matcher.matcher_tree().custom_match().typed_config(),
287
26
          server_factory_context_.messageValidationVisitor(), factory);
288
26
      return factory.createCustomMatcherFactoryCb(*message, server_factory_context_, data_input,
289
26
                                                  on_no_match, *this);
290
0
    }
291
10.8k
    }
292
0
    PANIC_DUE_TO_CORRUPT_ENUM;
293
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::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
267
1
  MatchTreeFactoryCb<DataType> createTreeMatcher(const MatcherType& matcher) {
268
1
    auto data_input = match_input_factory_.createDataInput(matcher.matcher_tree().input());
269
1
    auto on_no_match = createOnMatch(matcher.on_no_match());
270
271
1
    switch (matcher.matcher_tree().tree_type_case()) {
272
0
    case MatcherType::MatcherTree::kExactMatchMap: {
273
0
      return createMapMatcher<ExactMapMatcher>(matcher.matcher_tree().exact_match_map(), data_input,
274
0
                                               on_no_match);
275
0
    }
276
0
    case MatcherType::MatcherTree::kPrefixMatchMap: {
277
0
      return createMapMatcher<PrefixMapMatcher>(matcher.matcher_tree().prefix_match_map(),
278
0
                                                data_input, on_no_match);
279
0
    }
280
0
    case MatcherType::MatcherTree::TREE_TYPE_NOT_SET:
281
0
      PANIC("unexpected matcher type");
282
0
    case MatcherType::MatcherTree::kCustomMatch: {
283
0
      auto& factory = Config::Utility::getAndCheckFactory<CustomMatcherFactory<DataType>>(
284
0
          matcher.matcher_tree().custom_match());
285
0
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
286
0
          matcher.matcher_tree().custom_match().typed_config(),
287
0
          server_factory_context_.messageValidationVisitor(), factory);
288
0
      return factory.createCustomMatcherFactoryCb(*message, server_factory_context_, data_input,
289
0
                                                  on_no_match, *this);
290
0
    }
291
1
    }
292
0
    PANIC_DUE_TO_CORRUPT_ENUM;
293
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>::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::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&)
294
295
  template <template <class> class MapMatcherType, class MapType>
296
  MatchTreeFactoryCb<DataType>
297
  createMapMatcher(const MapType& map, DataInputFactoryCb<DataType> data_input,
298
10.5k
                   absl::optional<OnMatchFactoryCb<DataType>>& on_no_match) {
299
10.5k
    std::vector<std::pair<std::string, OnMatchFactoryCb<DataType>>> match_children;
300
10.5k
    match_children.reserve(map.map().size());
301
302
43.2k
    for (const auto& children : map.map()) {
303
43.2k
      match_children.push_back(
304
43.2k
          std::make_pair(children.first, *MatchTreeFactory::createOnMatch(children.second)));
305
43.2k
    }
306
307
10.5k
    return [match_children, data_input, on_no_match]() {
308
8.39k
      auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>(
309
8.39k
          data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
310
37.2k
      for (const auto& children : match_children) {
311
37.2k
        multimap_matcher->addChild(children.first, children.second());
312
37.2k
      }
313
8.39k
      return multimap_matcher;
314
8.39k
    };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
307
5.07k
    return [match_children, data_input, on_no_match]() {
308
5.07k
      auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>(
309
5.07k
          data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
310
27.6k
      for (const auto& children : match_children) {
311
27.6k
        multimap_matcher->addChild(children.first, children.second());
312
27.6k
      }
313
5.07k
      return multimap_matcher;
314
5.07k
    };
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
307
3.32k
    return [match_children, data_input, on_no_match]() {
308
3.32k
      auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>(
309
3.32k
          data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
310
9.61k
      for (const auto& children : match_children) {
311
9.61k
        multimap_matcher->addChild(children.first, children.second());
312
9.61k
      }
313
3.32k
      return multimap_matcher;
314
3.32k
    };
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::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
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::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
315
10.5k
  }
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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
298
5.94k
                   absl::optional<OnMatchFactoryCb<DataType>>& on_no_match) {
299
5.94k
    std::vector<std::pair<std::string, OnMatchFactoryCb<DataType>>> match_children;
300
5.94k
    match_children.reserve(map.map().size());
301
302
30.4k
    for (const auto& children : map.map()) {
303
30.4k
      match_children.push_back(
304
30.4k
          std::make_pair(children.first, *MatchTreeFactory::createOnMatch(children.second)));
305
30.4k
    }
306
307
5.94k
    return [match_children, data_input, on_no_match]() {
308
5.94k
      auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>(
309
5.94k
          data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
310
5.94k
      for (const auto& children : match_children) {
311
5.94k
        multimap_matcher->addChild(children.first, children.second());
312
5.94k
      }
313
5.94k
      return multimap_matcher;
314
5.94k
    };
315
5.94k
  }
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
298
4.65k
                   absl::optional<OnMatchFactoryCb<DataType>>& on_no_match) {
299
4.65k
    std::vector<std::pair<std::string, OnMatchFactoryCb<DataType>>> match_children;
300
4.65k
    match_children.reserve(map.map().size());
301
302
12.8k
    for (const auto& children : map.map()) {
303
12.8k
      match_children.push_back(
304
12.8k
          std::make_pair(children.first, *MatchTreeFactory::createOnMatch(children.second)));
305
12.8k
    }
306
307
4.65k
    return [match_children, data_input, on_no_match]() {
308
4.65k
      auto multimap_matcher = std::make_unique<MapMatcherType<DataType>>(
309
4.65k
          data_input(), on_no_match ? absl::make_optional((*on_no_match)()) : absl::nullopt);
310
4.65k
      for (const auto& children : match_children) {
311
4.65k
        multimap_matcher->addChild(children.first, children.second());
312
4.65k
      }
313
4.65k
      return multimap_matcher;
314
4.65k
    };
315
4.65k
  }
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::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> ()> >&)
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::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> ()> >&)
316
317
  template <class OnMatchType>
318
77.3k
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
77.3k
    if (on_match.has_matcher()) {
320
19.6k
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
14.8k
        return OnMatch<DataType>{{}, matcher_factory()};
322
14.8k
      };
Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const
Line
Count
Source
320
353
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
353
        return OnMatch<DataType>{{}, matcher_factory()};
322
353
      };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)::{lambda()#1}::operator()() const
Line
Count
Source
320
14.2k
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
14.2k
        return OnMatch<DataType>{{}, matcher_factory()};
322
14.2k
      };
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
320
139
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
139
        return OnMatch<DataType>{{}, matcher_factory()};
322
139
      };
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
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
320
42
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
42
        return OnMatch<DataType>{{}, matcher_factory()};
322
42
      };
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
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
Line
Count
Source
320
19
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
19
        return OnMatch<DataType>{{}, matcher_factory()};
322
19
      };
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::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
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
Line
Count
Source
320
70
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
70
        return OnMatch<DataType>{{}, matcher_factory()};
322
70
      };
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
323
57.7k
    } else if (on_match.has_action()) {
324
56.0k
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
56.0k
          on_match.action());
326
56.0k
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
56.0k
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
56.0k
          factory);
329
330
56.0k
      auto action_factory = factory.createActionFactoryCb(
331
56.0k
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
56.0k
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::createOnMatchBase<envoy::config::common::matcher::v3::Matcher_OnMatch>(envoy::config::common::matcher::v3::Matcher_OnMatch const&)::{lambda()#2}::operator()() const
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
332
46.3k
      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::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
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::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
333
56.0k
    }
334
335
1.61k
    return absl::nullopt;
336
77.3k
  }
std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
318
1.60k
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
1.60k
    if (on_match.has_matcher()) {
320
353
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
353
        return OnMatch<DataType>{{}, matcher_factory()};
322
353
      };
323
1.24k
    } else if (on_match.has_action()) {
324
1
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
1
          on_match.action());
326
1
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
1
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
1
          factory);
329
330
1
      auto action_factory = factory.createActionFactoryCb(
331
1
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
1
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
333
1
    }
334
335
1.24k
    return absl::nullopt;
336
1.60k
  }
Unexecuted instantiation: std::__1::optional<std::__1::function<Envoy::Matcher::OnMatch<Envoy::Http::HttpMatchingData> ()> > Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Router::RouteActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
318
75.3k
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
75.3k
    if (on_match.has_matcher()) {
320
19.0k
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
19.0k
        return OnMatch<DataType>{{}, matcher_factory()};
322
19.0k
      };
323
56.3k
    } else if (on_match.has_action()) {
324
56.0k
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
56.0k
          on_match.action());
326
56.0k
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
56.0k
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
56.0k
          factory);
329
330
56.0k
      auto action_factory = factory.createActionFactoryCb(
331
56.0k
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
56.0k
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
333
56.0k
    }
334
335
235
    return absl::nullopt;
336
75.3k
  }
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
318
174
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
174
    if (on_match.has_matcher()) {
320
139
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
139
        return OnMatch<DataType>{{}, matcher_factory()};
322
139
      };
323
139
    } else if (on_match.has_action()) {
324
2
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
2
          on_match.action());
326
2
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
2
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
2
          factory);
329
330
2
      auto action_factory = factory.createActionFactoryCb(
331
2
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
2
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
333
2
    }
334
335
33
    return absl::nullopt;
336
174
  }
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::Filters::Common::RBAC::ActionContext>::createOnMatchBase<xds::type::matcher::v3::Matcher_OnMatch>(xds::type::matcher::v3::Matcher_OnMatch const&)
Line
Count
Source
318
140
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
140
    if (on_match.has_matcher()) {
320
42
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
42
        return OnMatch<DataType>{{}, matcher_factory()};
322
42
      };
323
98
    } else if (on_match.has_action()) {
324
1
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
1
          on_match.action());
326
1
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
1
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
1
          factory);
329
330
1
      auto action_factory = factory.createActionFactoryCb(
331
1
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
1
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
333
1
    }
334
335
97
    return absl::nullopt;
336
140
  }
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&)
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
318
22
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
22
    if (on_match.has_matcher()) {
320
19
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
19
        return OnMatch<DataType>{{}, matcher_factory()};
322
19
      };
323
19
    } else if (on_match.has_action()) {
324
0
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
0
          on_match.action());
326
0
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
0
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
0
          factory);
329
330
0
      auto action_factory = factory.createActionFactoryCb(
331
0
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
0
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
333
0
    }
334
335
3
    return absl::nullopt;
336
22
  }
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::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&)
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&)
Line
Count
Source
318
72
  absl::optional<OnMatchFactoryCb<DataType>> createOnMatchBase(const OnMatchType& on_match) {
319
72
    if (on_match.has_matcher()) {
320
70
      return [matcher_factory = std::move(create(on_match.matcher()))]() {
321
70
        return OnMatch<DataType>{{}, matcher_factory()};
322
70
      };
323
70
    } else if (on_match.has_action()) {
324
0
      auto& factory = Config::Utility::getAndCheckFactory<ActionFactory<ActionFactoryContext>>(
325
0
          on_match.action());
326
0
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
327
0
          on_match.action().typed_config(), server_factory_context_.messageValidationVisitor(),
328
0
          factory);
329
330
0
      auto action_factory = factory.createActionFactoryCb(
331
0
          *message, action_factory_context_, server_factory_context_.messageValidationVisitor());
332
0
      return [action_factory] { return OnMatch<DataType>{action_factory, {}}; };
333
0
    }
334
335
2
    return absl::nullopt;
336
72
  }
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&)
337
338
  template <class SinglePredicateType>
339
19.7k
  InputMatcherFactoryCb createInputMatcher(const SinglePredicateType& predicate) {
340
19.7k
    switch (predicate.matcher_case()) {
341
19.7k
    case SinglePredicateType::kValueMatch:
342
19.7k
      return [value_match = predicate.value_match()]() {
343
15.8k
        return std::make_unique<StringInputMatcher<std::decay_t<decltype(value_match)>>>(
344
15.8k
            value_match);
345
15.8k
      };
Unexecuted instantiation: Envoy::Matcher::MatchTreeFactory<Envoy::Http::HttpMatchingData, Envoy::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
342
15.8k
      return [value_match = predicate.value_match()]() {
343
15.8k
        return std::make_unique<StringInputMatcher<std::decay_t<decltype(value_match)>>>(
344
15.8k
            value_match);
345
15.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::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
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::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
346
20
    case SinglePredicateType::kCustomMatch: {
347
20
      auto& factory =
348
20
          Config::Utility::getAndCheckFactory<InputMatcherFactory>(predicate.custom_match());
349
20
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
350
20
          predicate.custom_match().typed_config(),
351
20
          server_factory_context_.messageValidationVisitor(), factory);
352
20
      return factory.createInputMatcherFactoryCb(*message, server_factory_context_);
353
0
    }
354
0
    case SinglePredicateType::MATCHER_NOT_SET:
355
0
      PANIC_DUE_TO_PROTO_UNSET;
356
19.7k
    }
357
0
    PANIC_DUE_TO_CORRUPT_ENUM;
358
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::Http::Matching::HttpFilterActionContext>::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::Http::Matching::HttpFilterActionContext>::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::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
339
19.7k
  InputMatcherFactoryCb createInputMatcher(const SinglePredicateType& predicate) {
340
19.7k
    switch (predicate.matcher_case()) {
341
19.7k
    case SinglePredicateType::kValueMatch:
342
19.7k
      return [value_match = predicate.value_match()]() {
343
19.7k
        return std::make_unique<StringInputMatcher<std::decay_t<decltype(value_match)>>>(
344
19.7k
            value_match);
345
19.7k
      };
346
20
    case SinglePredicateType::kCustomMatch: {
347
20
      auto& factory =
348
20
          Config::Utility::getAndCheckFactory<InputMatcherFactory>(predicate.custom_match());
349
20
      ProtobufTypes::MessagePtr message = Config::Utility::translateAnyToFactoryConfig(
350
20
          predicate.custom_match().typed_config(),
351
20
          server_factory_context_.messageValidationVisitor(), factory);
352
20
      return factory.createInputMatcherFactoryCb(*message, server_factory_context_);
353
0
    }
354
0
    case SinglePredicateType::MATCHER_NOT_SET:
355
0
      PANIC_DUE_TO_PROTO_UNSET;
356
19.7k
    }
357
0
    PANIC_DUE_TO_CORRUPT_ENUM;
358
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::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&)
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::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&)
359
360
  const std::string stats_prefix_;
361
  ActionFactoryContext& action_factory_context_;
362
  Server::Configuration::ServerFactoryContext& server_factory_context_;
363
  MatchInputFactory<DataType> match_input_factory_;
364
};
365
} // namespace Matcher
366
} // namespace Envoy