forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			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;
 | 
						|
 | 
						|
} |