62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
		
		
			
		
	
	
			62 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Haxe
		
	
	
	
	
	
|  | package eval.luv; | ||
|  | 
 | ||
|  | import haxe.ds.Option; | ||
|  | import eval.luv.SockAddr; | ||
|  | 
 | ||
|  | /** | ||
|  | 	TCP sockets. | ||
|  | 
 | ||
|  | 	@see https://aantron.github.io/luv/luv/Luv/TCP | ||
|  | **/ | ||
|  | @:using(eval.luv.Handle) | ||
|  | @:using(eval.luv.Stream) | ||
|  | @:coreType abstract Tcp to Handle to Stream to Stream.TStream<Tcp> to Handle.SocketHandle { | ||
|  | 	/** | ||
|  | 		Allocates and initializes a TCP stream. | ||
|  | 
 | ||
|  | 		The stream is not yet connected or listening. | ||
|  | 
 | ||
|  | 		The handle should be cleaned up with `eval.luv.Handle.close` when no longer needed. | ||
|  | 	**/ | ||
|  | 	static public function init(loop:Loop, ?domain:AddressFamily):Result<Tcp>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Sets TCP_NODELAY. | ||
|  | 	**/ | ||
|  | 	public function noDelay(enable:Bool):Result<Result.NoData>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Sets the TCP keepalive. | ||
|  | 	**/ | ||
|  | 	public function keepAlive(value:Option<Int>):Result<Result.NoData>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Sets simultaneous accept. | ||
|  | 	**/ | ||
|  | 	public function simultaneousAccepts(value:Bool):Result<Result.NoData>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Assigns an address to the TCP socket. | ||
|  | 	**/ | ||
|  | 	public function bind(addr:SockAddr, ipv6Only:Bool = false):Result<Result.NoData>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Retrieves the address assigned to the TCP socket. | ||
|  | 	**/ | ||
|  | 	public function getSockName():Result<SockAddr>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Retrieves the address of the TCP socket's peer.
 | ||
|  | 	**/ | ||
|  | 	public function getPeerName():Result<SockAddr>; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Connects to a host. | ||
|  | 	**/ | ||
|  | 	public function connect(addr:SockAddr, callback:(result:Result<Result.NoData>)->Void):Void; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 		Resets the connection. | ||
|  | 	**/ | ||
|  | 	public function closeReset(callback:(result:Result<Result.NoData>)->Void):Void; | ||
|  | } |