1
#include "source/common/rds/static_route_config_provider_impl.h"
2

            
3
#include "source/common/rds/util.h"
4

            
5
namespace Envoy {
6
namespace Rds {
7

            
8
StaticRouteConfigProviderImpl::StaticRouteConfigProviderImpl(
9
    const Protobuf::Message& route_config_proto, ConfigTraits& config_traits,
10
    Server::Configuration::ServerFactoryContext& factory_context,
11
    RouteConfigProviderManager& route_config_provider_manager)
12
    : route_config_proto_(
13
9868
          cloneProto(route_config_provider_manager.protoTraits(), route_config_proto)),
14
9868
      config_(config_traits.createConfig(*route_config_proto_, factory_context,
15
9868
                                         true /* validate unknown cluster */)),
16
9868
      last_updated_(factory_context.timeSource().systemTime()),
17
9868
      config_info_(ConfigInfo{*route_config_proto_, ""}),
18
9868
      route_config_provider_manager_(route_config_provider_manager) {}
19

            
20
9860
StaticRouteConfigProviderImpl::~StaticRouteConfigProviderImpl() {
21
9860
  route_config_provider_manager_.eraseStaticProvider(this);
22
9860
}
23

            
24
} // namespace Rds
25
} // namespace Envoy