1
#pragma once
2

            
3
#include "envoy/registry/registry.h"
4

            
5
#include "source/common/quic/envoy_quic_connection_id_generator_factory.h"
6

            
7
namespace Envoy {
8
namespace Quic {
9
namespace Extensions {
10
namespace ConnectionIdGenerator {
11
namespace QuicLb {
12

            
13
class ConfigFactory : public Quic::EnvoyQuicConnectionIdGeneratorConfigFactory {
14
public:
15
  // EnvoyQuicConnectionIdGeneratorConfigFactory.
16
  ProtobufTypes::MessagePtr createEmptyConfigProto() override;
17
  Quic::EnvoyQuicConnectionIdGeneratorFactoryPtr
18
  createQuicConnectionIdGeneratorFactory(const Protobuf::Message& config,
19
                                         ProtobufMessage::ValidationVisitor& validation_visitor,
20
                                         Server::Configuration::FactoryContext& context) override;
21
8
  std::string name() const override { return "envoy.quic.connection_id_generator.quic_lb"; }
22
};
23

            
24
DECLARE_FACTORY(ConfigFactory);
25

            
26
} // namespace QuicLb
27
} // namespace ConnectionIdGenerator
28
} // namespace Extensions
29
} // namespace Quic
30
} // namespace Envoy