1
#pragma once
2

            
3
#include "envoy/event/signal.h"
4

            
5
#include "source/common/event/dispatcher_impl.h"
6
#include "source/common/event/event_impl_base.h"
7

            
8
namespace Envoy {
9
namespace Event {
10

            
11
/**
12
 * libevent implementation of Event::SignalEvent.
13
 */
14
class SignalEventImpl : public SignalEvent, ImplBase {
15
public:
16
  SignalEventImpl(DispatcherImpl& dispatcher, signal_t signal_num, SignalCb cb);
17

            
18
private:
19
  SignalCb cb_;
20
};
21
} // namespace Event
22
} // namespace Envoy