33 lines
		
	
	
		
			1018 B
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			1018 B
		
	
	
	
		
			C
		
	
	
	
	
	
|  | #ifndef TIMEOUT_H
 | ||
|  | #define TIMEOUT_H
 | ||
|  | /*=========================================================================*\
 | ||
|  | * Timeout management functions | ||
|  | * LuaSocket toolkit | ||
|  | \*=========================================================================*/ | ||
|  | #include "lua.h"
 | ||
|  | 
 | ||
|  | namespace NS_SLUA {     | ||
|  | 
 | ||
|  | /* timeout control structure */ | ||
|  | typedef struct t_timeout_ { | ||
|  |     double block;          /* maximum time for blocking calls */ | ||
|  |     double total;          /* total number of miliseconds for operation */ | ||
|  |     double start;          /* time of start of operation */ | ||
|  | } t_timeout; | ||
|  | typedef t_timeout *p_timeout; | ||
|  | 
 | ||
|  | int timeout_open(lua_State *L); | ||
|  | void timeout_init(p_timeout tm, double block, double total); | ||
|  | double timeout_get(p_timeout tm); | ||
|  | double timeout_getretry(p_timeout tm); | ||
|  | p_timeout timeout_markstart(p_timeout tm); | ||
|  | double timeout_getstart(p_timeout tm); | ||
|  | double timeout_gettime(void); | ||
|  | int timeout_meth_settimeout(lua_State *L, p_timeout tm); | ||
|  | 
 | ||
|  | #define timeout_iszero(tm)   ((tm)->block == 0.0)
 | ||
|  | 
 | ||
|  | } // end NS_SLUA
 | ||
|  | 
 | ||
|  | #endif /* TIMEOUT_H */
 |