Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/registry/registry.h" 4 : #include "envoy/server/transport_socket_config.h" 5 : 6 : namespace Envoy { 7 : namespace Extensions { 8 : namespace TransportSockets { 9 : namespace RawBuffer { 10 : 11 : /** 12 : * Config registration for the raw buffer transport socket factory. 13 : * @see TransportSocketConfigFactory. 14 : */ 15 : class RawBufferSocketFactory : public virtual Server::Configuration::TransportSocketConfigFactory { 16 : public: 17 346 : std::string name() const override { return "envoy.transport_sockets.raw_buffer"; } 18 : ProtobufTypes::MessagePtr createEmptyConfigProto() override; 19 : }; 20 : 21 : class UpstreamRawBufferSocketFactory 22 : : public Server::Configuration::UpstreamTransportSocketConfigFactory, 23 : public RawBufferSocketFactory { 24 : public: 25 : Network::UpstreamTransportSocketFactoryPtr createTransportSocketFactory( 26 : const Protobuf::Message& config, 27 : Server::Configuration::TransportSocketFactoryContext& context) override; 28 : }; 29 : 30 : class DownstreamRawBufferSocketFactory 31 : : public Server::Configuration::DownstreamTransportSocketConfigFactory, 32 : public RawBufferSocketFactory { 33 : public: 34 : Network::DownstreamTransportSocketFactoryPtr 35 : createTransportSocketFactory(const Protobuf::Message& config, 36 : Server::Configuration::TransportSocketFactoryContext& context, 37 : const std::vector<std::string>& server_names) override; 38 : }; 39 : 40 : DECLARE_FACTORY(UpstreamRawBufferSocketFactory); 41 : 42 : DECLARE_FACTORY(DownstreamRawBufferSocketFactory); 43 : 44 : } // namespace RawBuffer 45 : } // namespace TransportSockets 46 : } // namespace Extensions 47 : } // namespace Envoy