Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/extensions/retry/host/omit_canary_hosts/v3/omit_canary_hosts.pb.validate.h" 4 : #include "envoy/upstream/retry.h" 5 : 6 : #include "source/extensions/retry/host/omit_canary_hosts/omit_canary_hosts.h" 7 : 8 : namespace Envoy { 9 : namespace Extensions { 10 : namespace Retry { 11 : namespace Host { 12 : 13 : class OmitCanaryHostsRetryPredicateFactory : public Upstream::RetryHostPredicateFactory { 14 : 15 : public: 16 : Upstream::RetryHostPredicateSharedPtr createHostPredicate(const Protobuf::Message&, 17 0 : uint32_t) override { 18 0 : return std::make_shared<OmitCanaryHostsRetryPredicate>(); 19 0 : } 20 : 21 38 : std::string name() const override { return "envoy.retry_host_predicates.omit_canary_hosts"; } 22 : 23 1 : ProtobufTypes::MessagePtr createEmptyConfigProto() override { 24 1 : return std::make_unique< 25 1 : envoy::extensions::retry::host::omit_canary_hosts::v3::OmitCanaryHostsPredicate>(); 26 1 : } 27 : }; 28 : 29 : } // namespace Host 30 : } // namespace Retry 31 : } // namespace Extensions 32 : } // namespace Envoy