LCOV - code coverage report
Current view: top level - source/extensions/load_balancing_policies/subset - config.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 2 2 100.0 %
Date: 2024-01-05 06:35:25 Functions: 2 2 100.0 %

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

Generated by: LCOV version 1.15