37 class WorkReq final:
public Request<WorkReq, uv_work_t> {
38 using InternalTask = std::function<void(void)>;
40 static void workCallback(uv_work_t *req) {
41 static_cast<WorkReq*
>(req->data)->task();
45 using Task = InternalTask;
47 explicit WorkReq(ConstructorAccess ca, std::shared_ptr<Loop> ref, InternalTask t)
48 : Request{ca, std::move(ref)}, task{t}
59 invoke(&uv_queue_work, parent(),
get(), &workCallback, &defaultCallback<WorkEvent>);
void queue()
Runs the given task in a separate thread.