#pragma once #include "envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.pb.h" #include "envoy/registry/registry.h" #include "envoy/router/router.h" namespace Envoy { namespace Extensions { namespace Upstreams { namespace Http { namespace Tcp { /** * Config registration for the TcpConnPool. @see Router::GenericConnPoolFactory */ class TcpGenericConnPoolFactory : public Router::GenericConnPoolFactory { public: std::string name() const override { return "envoy.filters.connection_pools.http.tcp"; } 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(); } }; DECLARE_FACTORY(TcpGenericConnPoolFactory); } // namespace Tcp } // namespace Http } // namespace Upstreams } // namespace Extensions } // namespace Envoy