Line data Source code
1 : #include "source/extensions/health_checkers/thrift/config.h" 2 : 3 : #include "envoy/config/core/v3/health_check.pb.h" 4 : #include "envoy/registry/registry.h" 5 : 6 : #include "source/common/config/utility.h" 7 : #include "source/extensions/health_checkers/thrift/client_impl.h" 8 : #include "source/extensions/health_checkers/thrift/utility.h" 9 : 10 : namespace Envoy { 11 : namespace Extensions { 12 : namespace HealthCheckers { 13 : namespace ThriftHealthChecker { 14 : 15 : Upstream::HealthCheckerSharedPtr ThriftHealthCheckerFactory::createCustomHealthChecker( 16 : const envoy::config::core::v3::HealthCheck& config, 17 0 : Server::Configuration::HealthCheckerFactoryContext& context) { 18 0 : return std::make_shared<ThriftHealthChecker>( 19 0 : context.cluster(), config, 20 0 : getThriftHealthCheckConfig(config, context.messageValidationVisitor()), 21 0 : context.mainThreadDispatcher(), context.runtime(), context.eventLogger(), context.api(), 22 0 : ClientFactoryImpl::instance_); 23 0 : }; 24 : 25 : /** 26 : * Static registration for the thrift custom health checker. @see RegisterFactory. 27 : */ 28 : REGISTER_FACTORY(ThriftHealthCheckerFactory, Server::Configuration::CustomHealthCheckerFactory); 29 : 30 : } // namespace ThriftHealthChecker 31 : } // namespace HealthCheckers 32 : } // namespace Extensions 33 : } // namespace Envoy