Line data Source code
1 : #pragma once 2 : 3 : #include "envoy/config/typed_config.h" 4 : #include "envoy/network/filter.h" 5 : #include "envoy/network/socket.h" 6 : 7 : #include "source/server/listener_stats.h" 8 : 9 : #include "quiche/quic/core/crypto/proof_source.h" 10 : 11 : namespace Envoy { 12 : namespace Quic { 13 : 14 : // A factory interface to provide quic::ProofSource. 15 : class EnvoyQuicProofSourceFactoryInterface : public Config::TypedFactory { 16 : public: 17 0 : ~EnvoyQuicProofSourceFactoryInterface() override = default; 18 : 19 26 : std::string category() const override { return "envoy.quic.proof_source"; } 20 : 21 : virtual std::unique_ptr<quic::ProofSource> 22 : createQuicProofSource(Network::Socket& listen_socket, 23 : Network::FilterChainManager& filter_chain_manager, 24 : Server::ListenerStats& listener_stats, TimeSource& time_source) PURE; 25 : }; 26 : 27 : } // namespace Quic 28 : } // namespace Envoy