LCOV - code coverage report
Current view: top level - source/extensions/load_balancing_policies/cluster_provided - config.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 1 5 20.0 %
Date: 2024-01-05 06:35:25 Functions: 1 3 33.3 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include <memory>
       4             : 
       5             : #include "envoy/extensions/load_balancing_policies/cluster_provided/v3/cluster_provided.pb.h"
       6             : #include "envoy/upstream/load_balancer.h"
       7             : 
       8             : #include "source/common/upstream/load_balancer_factory_base.h"
       9             : 
      10             : namespace Envoy {
      11             : namespace Extensions {
      12             : namespace LoadBalancingPolices {
      13             : namespace ClusterProvided {
      14             : 
      15             : class ClusterProvidedLbConfig : public Upstream::LoadBalancerConfig {
      16             : public:
      17           0 :   ClusterProvidedLbConfig() = default;
      18             : };
      19             : 
      20             : class Factory
      21             :     : public Upstream::TypedLoadBalancerFactoryBase<
      22             :           envoy::extensions::load_balancing_policies::cluster_provided::v3::ClusterProvided> {
      23             : public:
      24          13 :   Factory() : TypedLoadBalancerFactoryBase("envoy.load_balancing_policies.cluster_provided") {}
      25             : 
      26             :   Upstream::ThreadAwareLoadBalancerPtr create(OptRef<const Upstream::LoadBalancerConfig> lb_config,
      27             :                                               const Upstream::ClusterInfo& cluster_info,
      28             :                                               const Upstream::PrioritySet& priority_set,
      29             :                                               Runtime::Loader& runtime,
      30             :                                               Random::RandomGenerator& random,
      31             :                                               TimeSource& time_source) override;
      32             : 
      33             :   Upstream::LoadBalancerConfigPtr loadConfig(const Protobuf::Message&,
      34           0 :                                              ProtobufMessage::ValidationVisitor&) override {
      35           0 :     return std::make_unique<ClusterProvidedLbConfig>();
      36           0 :   }
      37             : };
      38             : 
      39             : DECLARE_FACTORY(Factory);
      40             : 
      41             : } // namespace ClusterProvided
      42             : } // namespace LoadBalancingPolices
      43             : } // namespace Extensions
      44             : } // namespace Envoy

Generated by: LCOV version 1.15