31 lines
826 B
Haxe
31 lines
826 B
Haxe
|
package eval.luv;
|
||
|
|
||
|
@:forward
|
||
|
abstract ThreadPoolRequest(Request) to Request {}
|
||
|
|
||
|
/**
|
||
|
Thread pool.
|
||
|
|
||
|
@see https://aantron.github.io/luv/luv/Luv/Thread_pool
|
||
|
**/
|
||
|
extern class ThreadPool {
|
||
|
|
||
|
static function createRequest():ThreadPoolRequest;
|
||
|
|
||
|
/**
|
||
|
Schedules a function to be called by a thread in the thread pool.
|
||
|
|
||
|
`work` is the function that will be called in the thread pool.
|
||
|
`callback` will be called by the `loop` after `work` completes, or
|
||
|
immediately, in case there is an error scheduling `work`.
|
||
|
**/
|
||
|
static function queueWork(loop:Loop, ?request:ThreadPoolRequest, work:()->Void, callback:(result:Result<Result.NoData>)->Void):Void;
|
||
|
|
||
|
/**
|
||
|
Sets thread pool size.
|
||
|
|
||
|
This function should be called as soon during process startup as possible.
|
||
|
**/
|
||
|
static function setSize(size:Int, ?ifNotAlreadySet:Bool):Void;
|
||
|
|
||
|
}
|