LCOV - code coverage report
Current view: top level - source/common/rds - static_route_config_provider_impl.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 3 4 75.0 %
Date: 2024-01-05 06:35:25 Functions: 3 4 75.0 %

          Line data    Source code
       1             : #pragma once
       2             : 
       3             : #include "envoy/rds/config_traits.h"
       4             : #include "envoy/rds/route_config_provider.h"
       5             : #include "envoy/server/factory_context.h"
       6             : 
       7             : #include "source/common/rds/route_config_provider_manager.h"
       8             : 
       9             : namespace Envoy {
      10             : namespace Rds {
      11             : 
      12             : /**
      13             :  * Implementation of RouteConfigProvider that holds a static route configuration.
      14             :  */
      15             : class StaticRouteConfigProviderImpl : public RouteConfigProvider {
      16             : public:
      17             :   StaticRouteConfigProviderImpl(const Protobuf::Message& route_config_proto,
      18             :                                 ConfigTraits& config_traits,
      19             :                                 Server::Configuration::ServerFactoryContext& factory_context,
      20             :                                 RouteConfigProviderManager& route_config_provider_manager);
      21             : 
      22             :   ~StaticRouteConfigProviderImpl() override;
      23             : 
      24             :   // Router::RouteConfigProvider
      25         393 :   ConfigConstSharedPtr config() const override { return config_; }
      26         140 :   const absl::optional<ConfigInfo>& configInfo() const override { return config_info_; }
      27          70 :   SystemTime lastUpdated() const override { return last_updated_; }
      28           0 :   absl::Status onConfigUpdate() override { return absl::OkStatus(); }
      29             : 
      30             : private:
      31             :   ProtobufTypes::MessagePtr route_config_proto_;
      32             :   ConfigConstSharedPtr config_;
      33             :   SystemTime last_updated_;
      34             :   absl::optional<ConfigInfo> config_info_;
      35             :   RouteConfigProviderManager& route_config_provider_manager_;
      36             : };
      37             : 
      38             : } // namespace Rds
      39             : } // namespace Envoy

Generated by: LCOV version 1.15