85 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package eval.luv; | ||
|  | 
 | ||
|  | @:coreType abstract SocketHandle {} | ||
|  | 
 | ||
|  | /** | ||
|  | 	Handles. | ||
|  | 
 | ||
|  | 	@see https://aantron.github.io/luv/luv/Luv/Handle | ||
|  | **/ | ||
|  | @:coreType abstract Handle { | ||
|  | 	/** | ||
|  | 		Closes the given handle. | ||
|  | 	**/ | ||
|  | 	extern static public function close(handle:Handle, callback:()->Void):Void; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Returns `true` if the handle is active, `false` otherwise. | ||
|  | 	**/ | ||
|  | 	static public function isActive(handle:Handle):Bool; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Returns `true` if the handle is closing or closed, `false` otherwise. | ||
|  | 
 | ||
|  | 		Note: This function should only be used between the initialization of | ||
|  | 		the handle and the arrival of the close callback. | ||
|  | 	**/ | ||
|  | 	static public function isClosing(handle:Handle):Bool; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Reference the given handle. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-ref | ||
|  | 	**/ | ||
|  | 	static public function ref(handle:Handle):Void; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Un-reference the given handle. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-unref | ||
|  | 	**/ | ||
|  | 	static public function unref(handle:Handle):Void; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Returns `true` if the handle referenced, `false` otherwise. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-has_ref | ||
|  | 	**/ | ||
|  | 	static public function hasRef(handle:Handle):Bool; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Gets the size of the OS send buffer for a socket. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-send_buffer_size | ||
|  | 	**/ | ||
|  | 	static public function sendBufferSize(handle:SocketHandle):Result<Int>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Sets the size of the OS send buffer for a socket. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-set_send_buffer_size | ||
|  | 	**/ | ||
|  | 	static public function setSendBufferSize(handle:SocketHandle, size:Int):Result<Result.NoData>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Gets the size of the OS receive buffer for a socket. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-recv_buffer_size | ||
|  | 	**/ | ||
|  | 	static public function recvBufferSize(handle:SocketHandle):Result<Int>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Sets the size of the OS receive buffer for a socket. | ||
|  | 
 | ||
|  | 		@see https://aantron.github.io/luv/luv/Luv/Handle/#val-set_recv_buffer_size | ||
|  | 	**/ | ||
|  | 	static public function setRecvBufferSize(handle:SocketHandle, size:Int):Result<Result.NoData>; | ||
|  | 
 | ||
|  | // TODO | ||
|  | 	// /** | ||
|  | 	// 	Retrieves the file descriptor associated with the handle. | ||
|  | 
 | ||
|  | 	// 	@see https://aantron.github.io/luv/luv/Luv/Handle/#val-fileno | ||
|  | 	// **/ | ||
|  | 	// static public function fileno(handle:FileNo):Result<OsFd>; | ||
|  | } |