Implement Loop::setPreHandler

This commit is contained in:
Alex Hultman
2019-01-17 09:59:55 +01:00
parent 04281eeea6
commit 3c3819fe3c
2 changed files with 11 additions and 1 deletions
+10
View File
@@ -50,7 +50,11 @@ private:
}
static void preCb(us_loop *loop) {
LoopData *loopData = (LoopData *) us_loop_ext(loop);
if (loopData->preHandler) {
loopData->preHandler((Loop *) loop);
}
}
static void postCb(us_loop *loop) {
@@ -118,6 +122,12 @@ public:
loopData->postHandler = handler;
}
void setPreHandler(std::function<void(Loop *)> handler) {
LoopData *loopData = (LoopData *) us_loop_ext((us_loop *) this);
loopData->preHandler = handler;
}
/* Defer this callback on Loop's thread of execution */
void defer(std::function<void()> cb) {
LoopData *loopData = (LoopData *) us_loop_ext((us_loop *) this);