1
#pragma once
2

            
3
#include <string>
4

            
5
#include "envoy/server/hot_restart.h"
6

            
7
#include "source/common/common/thread.h"
8
#include "source/common/stats/allocator.h"
9

            
10
namespace Envoy {
11
namespace Server {
12

            
13
/**
14
 * No-op implementation of HotRestart.
15
 */
16
class HotRestartNopImpl : public Server::HotRestart {
17
public:
18
  // Server::HotRestart
19
10463
  void drainParentListeners() override {}
20
11402
  int duplicateParentListenSocket(const std::string&, uint32_t, absl::string_view) override {
21
11402
    return -1;
22
11402
  }
23
  void registerUdpForwardingListener(Network::Address::InstanceConstSharedPtr,
24
1194
                                     std::shared_ptr<Network::UdpListenerConfig>) override {}
25
  OptRef<Network::ParentDrainedCallbackRegistrar> parentDrainedCallbackRegistrar() override {
26
    return absl::nullopt;
27
  }
28
10595
  void initialize(Event::Dispatcher&, Server::Instance&) override {}
29
10595
  absl::optional<AdminShutdownResponse> sendParentAdminShutdownRequest() override {
30
10595
    return absl::nullopt;
31
10595
  }
32
10592
  void sendParentTerminateRequest() override {}
33
22255
  ServerStatsFromParent mergeParentStatsIfAny(Stats::StoreRoot&) override { return {}; }
34
10595
  void shutdown() override {}
35
106
  uint32_t baseId() override { return 0; }
36
112
  std::string version() override { return "disabled"; }
37
33
  Thread::BasicLockable& logLock() override { return log_lock_; }
38
31
  Thread::BasicLockable& accessLogLock() override { return access_log_lock_; }
39
3
  bool isInitializing() const override { return false; }
40

            
41
private:
42
  Thread::MutexBasicLockable log_lock_;
43
  Thread::MutexBasicLockable access_log_lock_;
44
};
45

            
46
} // namespace Server
47
} // namespace Envoy