Implement Loop::setPreHandler
This commit is contained in:
+10
@@ -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);
|
||||
|
||||
+1
-1
@@ -36,7 +36,7 @@ private:
|
||||
int currentDeferQueue = 0;
|
||||
std::vector<std::function<void()>> deferQueues[2];
|
||||
|
||||
std::function<void(Loop *)> postHandler;
|
||||
std::function<void(Loop *)> postHandler, preHandler;
|
||||
|
||||
public:
|
||||
~LoopData() {
|
||||
|
||||
Reference in New Issue
Block a user