#pragma once #include "envoy/extensions/upstreams/http/generic/v3/generic_connection_pool.pb.h" #include "envoy/registry/registry.h" #include "envoy/router/router.h" namespace Envoy { namespace Extensions { namespace Upstreams { namespace Http { namespace Generic { /** * Config registration for the GenericConnPool. * @see Router::GenericConnPoolFactory */ class GenericGenericConnPoolFactory : public Router::GenericConnPoolFactory { public: std::string name() const override { return "envoy.filters.connection_pools.http.generic"; } std::string category() const override { return "envoy.upstreams"; } Router::GenericConnPoolPtr createGenericConnPool(Upstream::ClusterManager& cm, bool is_connect, const Router::RouteEntry& route_entry, absl::optional downstream_protocol, Upstream::LoadBalancerContext* ctx) const override; ProtobufTypes::MessagePtr createEmptyConfigProto() override { return std::make_unique< envoy::extensions::upstreams::http::generic::v3::GenericConnectionPoolProto>(); } }; DECLARE_FACTORY(GenericGenericConnPoolFactory); } // namespace Generic } // namespace Http } // namespace Upstreams } // namespace Extensions } // namespace Envoy