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 */
							 |