1 #ifndef TIMEOUT_H 2 #define TIMEOUT_H 3 /*=========================================================================*\ 4 * Timeout management functions 5 * LuaSocket toolkit 6 \*=========================================================================*/ 7 #include "lua.h" 8 9 /* timeout control structure */ 10 typedef struct t_timeout_ { 11 double block; /* maximum time for blocking calls */ 12 double total; /* total number of miliseconds for operation */ 13 double start; /* time of start of operation */ 14 } t_timeout; 15 typedef t_timeout *p_timeout; 16 17 int timeout_open(lua_State *L); 18 void timeout_init(p_timeout tm, double block, double total); 19 double timeout_get(p_timeout tm); 20 double timeout_getretry(p_timeout tm); 21 p_timeout timeout_markstart(p_timeout tm); 22 double timeout_getstart(p_timeout tm); 23 double timeout_gettime(void); 24 int timeout_meth_settimeout(lua_State *L, p_timeout tm); 25 26 #define timeout_iszero(tm) ((tm)->block == 0.0) 27 28 #endif /* TIMEOUT_H */ 29