Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/extensions/matching/input_matchers/consistent_hashing/v3/consistent_hashing.pb.h" 4 : #include "envoy/extensions/matching/input_matchers/consistent_hashing/v3/consistent_hashing.pb.validate.h" 5 : #include "envoy/matcher/matcher.h" 6 : #include "envoy/server/factory_context.h" 7 : 8 : #include "source/common/protobuf/utility.h" 9 : #include "source/extensions/matching/input_matchers/consistent_hashing/matcher.h" 10 : 11 : namespace Envoy { 12 : namespace Extensions { 13 : namespace Matching { 14 : namespace InputMatchers { 15 : namespace ConsistentHashing { 16 : 17 : class ConsistentHashingConfig : public Envoy::Matcher::InputMatcherFactory { 18 : public: 19 : Envoy::Matcher::InputMatcherFactoryCb createInputMatcherFactoryCb( 20 : const Protobuf::Message& config, 21 : Server::Configuration::ServerFactoryContext& factory_context) override; 22 : 23 40 : std::string name() const override { return "envoy.matching.matchers.consistent_hashing"; } 24 : 25 1 : ProtobufTypes::MessagePtr createEmptyConfigProto() override { 26 1 : return std::make_unique< 27 1 : envoy::extensions::matching::input_matchers::consistent_hashing::v3::ConsistentHashing>(); 28 1 : } 29 : }; 30 : } // namespace ConsistentHashing 31 : } // namespace InputMatchers 32 : } // namespace Matching 33 : } // namespace Extensions 34 : } // namespace Envoy