EuvIdle.hpp
1 //
2 // Created by xiong on 2021/7/12.
3 //
4 
5 #ifndef EMX_EuvIdle_HPP
6 #define EMX_EuvIdle_HPP
7 
8 #include "EuvLoop.hpp"
9 
10 namespace Emx {
16  class EuvIdle {
17  public:
18 
20  using Callback = std::function<void()>;
21 
22  EuvIdle() : m_idle(nullptr) {}
23 
24  virtual ~EuvIdle() {
25  Destroy();
26  }
27 
35 
37  void Destroy();
38 
39  private:
40  static void OnDestroy(uv_handle_t *handle);
41 
42  private:
43  uv_idle_t *m_idle;
44  Callback m_cb;
45  };
47 }
48 #endif //EMX_EuvIdle_HPP
空闲回调,当loop处于空闲状态时会触发此事件
Definition: EuvIdle.hpp:16
EuvIdle()
Definition: EuvIdle.hpp:22
virtual ~EuvIdle()
Definition: EuvIdle.hpp:24
std::function< void()> Callback
当空闲事件触发后调用的回调函数
Definition: EuvIdle.hpp:20
void Destroy()
销毁空闲事件监测
ErrCodeE Create(EuvLoop &loop, EuvIdle::Callback cb)
创建空闲事件监测
实现多路复用循环的主体,所有基于EuvLoop的事件都应绑定到一个EuvLoop上
Definition: EuvLoop.hpp:18
ErrCodeE
错误码定义
Definition: EmxTypeDef.hpp:29
Definition: EmxGpio.hpp:10