1
#pragma once
2

            
3
#include "envoy/server/resource_monitor_config.h"
4

            
5
namespace Envoy {
6
namespace Server {
7
namespace Configuration {
8

            
9
class ResourceMonitorFactoryContextImpl : public ResourceMonitorFactoryContext {
10
public:
11
  ResourceMonitorFactoryContextImpl(Event::Dispatcher& dispatcher, const Server::Options& options,
12
                                    Api::Api& api,
13
                                    ProtobufMessage::ValidationVisitor& validation_visitor)
14
10794
      : dispatcher_(dispatcher), options_(options), api_(api),
15
10794
        validation_visitor_(validation_visitor) {}
16

            
17
207
  Event::Dispatcher& mainThreadDispatcher() override { return dispatcher_; }
18

            
19
  const Server::Options& options() override { return options_; }
20

            
21
37
  Api::Api& api() override { return api_; }
22

            
23
21
  ProtobufMessage::ValidationVisitor& messageValidationVisitor() override {
24
21
    return validation_visitor_;
25
21
  }
26

            
27
private:
28
  Event::Dispatcher& dispatcher_;
29
  const Server::Options& options_;
30
  Api::Api& api_;
31
  ProtobufMessage::ValidationVisitor& validation_visitor_;
32
};
33

            
34
} // namespace Configuration
35
} // namespace Server
36
} // namespace Envoy