1
#include "source/extensions/quic/connection_id_generator/quic_lb/config.h"
2

            
3
#include "envoy/extensions/quic/connection_id_generator/quic_lb/v3/quic_lb.pb.h"
4
#include "envoy/extensions/quic/connection_id_generator/quic_lb/v3/quic_lb.pb.validate.h"
5

            
6
#include "source/extensions/quic/connection_id_generator/quic_lb/quic_lb.h"
7

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

            
14
6
ProtobufTypes::MessagePtr ConfigFactory::createEmptyConfigProto() {
15
6
  return std::make_unique<envoy::extensions::quic::connection_id_generator::quic_lb::v3::Config>();
16
6
}
17

            
18
EnvoyQuicConnectionIdGeneratorFactoryPtr ConfigFactory::createQuicConnectionIdGeneratorFactory(
19
    const Protobuf::Message& config, ProtobufMessage::ValidationVisitor& validation_visitor,
20
3
    Server::Configuration::FactoryContext& context) {
21
3
  auto factory_or_status = Factory::create(
22
3
      MessageUtil::downcastAndValidate<
23
3
          const envoy::extensions::quic::connection_id_generator::quic_lb::v3::Config&>(
24
3
          config, validation_visitor),
25
3
      context);
26
3
  THROW_IF_NOT_OK(factory_or_status.status());
27
3
  return std::move(factory_or_status.value());
28
3
}
29

            
30
REGISTER_FACTORY(ConfigFactory, EnvoyQuicConnectionIdGeneratorConfigFactory);
31

            
32
} // namespace QuicLb
33
} // namespace ConnectionIdGenerator
34
} // namespace Extensions
35
} // namespace Quic
36
} // namespace Envoy