Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/extensions/upstreams/http/tcp/v3/tcp_connection_pool.pb.h" 4 : #include "envoy/registry/registry.h" 5 : #include "envoy/router/router.h" 6 : 7 : namespace Envoy { 8 : namespace Extensions { 9 : namespace Upstreams { 10 : namespace Http { 11 : namespace Tcp { 12 : 13 : /** 14 : * Config registration for the TcpConnPool. @see Router::GenericConnPoolFactory 15 : */ 16 : class TcpGenericConnPoolFactory : public Router::GenericConnPoolFactory { 17 : public: 18 38 : std::string name() const override { return "envoy.filters.connection_pools.http.tcp"; } 19 2 : std::string category() const override { return "envoy.upstreams"; } 20 : Router::GenericConnPoolPtr 21 : createGenericConnPool(Upstream::ThreadLocalCluster& thread_local_cluster, 22 : Router::GenericConnPoolFactory::UpstreamProtocol upstream_protocol, 23 : Upstream::ResourcePriority priority, 24 : absl::optional<Envoy::Http::Protocol> downstream_protocol, 25 : Upstream::LoadBalancerContext* ctx) const override; 26 1 : ProtobufTypes::MessagePtr createEmptyConfigProto() override { 27 1 : return std::make_unique<envoy::extensions::upstreams::http::tcp::v3::TcpConnectionPoolProto>(); 28 1 : } 29 : }; 30 : 31 : DECLARE_FACTORY(TcpGenericConnPoolFactory); 32 : 33 : } // namespace Tcp 34 : } // namespace Http 35 : } // namespace Upstreams 36 : } // namespace Extensions 37 : } // namespace Envoy