EQStream abstraction layer

This commit is contained in:
KimLS
2016-09-25 15:10:34 -07:00
parent 751e61d6e5
commit 5cad3f62d0
714 changed files with 210643 additions and 18 deletions
+36
View File
@@ -0,0 +1,36 @@
#pragma once
#include <functional>
#include <uv.h>
namespace EQ
{
class EventLoop
{
public:
static EventLoop &Get() {
static EventLoop inst;
return inst;
}
~EventLoop() {
uv_loop_close(&m_loop);
}
void Process() {
uv_run(&m_loop, UV_RUN_NOWAIT);
}
uv_loop_t* Handle() { return &m_loop; }
private:
EventLoop() {
memset(&m_loop, 0, sizeof(uv_loop_t));
uv_loop_init(&m_loop);
}
EventLoop(const EventLoop&);
EventLoop& operator=(const EventLoop&);
uv_loop_t m_loop;
};
}