1
#include "source/extensions/retry/priority/previous_priorities/config.h"
2

            
3
#include "envoy/extensions/retry/priority/previous_priorities/v3/previous_priorities_config.pb.h"
4
#include "envoy/extensions/retry/priority/previous_priorities/v3/previous_priorities_config.pb.validate.h"
5
#include "envoy/registry/registry.h"
6
#include "envoy/upstream/retry.h"
7

            
8
namespace Envoy {
9
namespace Extensions {
10
namespace Retry {
11
namespace Priority {
12

            
13
Upstream::RetryPrioritySharedPtr PreviousPrioritiesRetryPriorityFactory::createRetryPriority(
14
    const Protobuf::Message& config, ProtobufMessage::ValidationVisitor& validation_visitor,
15

            
16
10
    uint32_t max_retries) {
17
10
  return std::make_shared<PreviousPrioritiesRetryPriority>(
18
10
      MessageUtil::downcastAndValidate<const envoy::extensions::retry::priority::
19
10
                                           previous_priorities::v3::PreviousPrioritiesConfig&>(
20
10
          config, validation_visitor)
21
10
          .update_frequency(),
22
10
      max_retries);
23
10
}
24

            
25
REGISTER_FACTORY(PreviousPrioritiesRetryPriorityFactory, Upstream::RetryPriorityFactory);
26

            
27
} // namespace Priority
28
} // namespace Retry
29
} // namespace Extensions
30
} // namespace Envoy