LCOV - code coverage report
Current view: top level - source/server - listener_hooks.h (source / functions) Hit Total Coverage
Test: coverage.dat Lines: 1 4 25.0 %
Date: 2024-01-05 06:35:25 Functions: 1 4 25.0 %

          Line data    Source code
       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         135 :   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

Generated by: LCOV version 1.15