Coverage Report

Created: 2023-11-12 09:30

/proc/self/cwd/source/server/listener_hooks.h
Line
Count
Source (jump to first uncovered line)
1
#pragma once
2
3
#include "envoy/common/pure.h"
4
5
namespace Envoy {
6
7
/**
8
 * Hooks in the server to allow for integration testing. The real server just uses an empty
9
 * implementation defined below.
10
 */
11
class ListenerHooks {
12
public:
13
5.48k
  virtual ~ListenerHooks() = default;
14
15
  /**
16
   * Called when a worker has added a listener and it is listening.
17
   */
18
  virtual void onWorkerListenerAdded() PURE;
19
20
  /**
21
   * Called when a worker has removed a listener and it is no longer listening.
22
   */
23
  virtual void onWorkerListenerRemoved() PURE;
24
25
  /**
26
   * Called when all workers have started.
27
   */
28
  virtual void onWorkersStarted() PURE;
29
};
30
31
/**
32
 * Empty implementation of ListenerHooks.
33
 */
34
class DefaultListenerHooks : public ListenerHooks {
35
public:
36
  // ListenerHooks
37
0
  void onWorkerListenerAdded() override {}
38
0
  void onWorkerListenerRemoved() override {}
39
0
  void onWorkersStarted() override {}
40
};
41
42
} // namespace Envoy