aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDiego Nehab <diego.nehab@gmail.com>2016-03-04 15:36:32 -0300
committerDiego Nehab <diego.nehab@gmail.com>2016-03-04 15:36:32 -0300
commit944305dc21350fd2ec32a9552d893da86894fd62 (patch)
tree82948c24dade5e0da6924ab5e706f146bce4692a /src
parentcdce73b226cc4da6a073b79bec02a6780d32ff1a (diff)
downloadluasocket-944305dc21350fd2ec32a9552d893da86894fd62.tar.gz
luasocket-944305dc21350fd2ec32a9552d893da86894fd62.tar.bz2
luasocket-944305dc21350fd2ec32a9552d893da86894fd62.zip
Added gettimeout for completeness.
Also documented. Rordered manuals so order is alphabetical.
Diffstat (limited to 'src')
-rw-r--r--src/tcp.c8
-rw-r--r--src/timeout.c10
-rw-r--r--src/timeout.h1
-rw-r--r--src/udp.c7
4 files changed, 26 insertions, 0 deletions
diff --git a/src/tcp.c b/src/tcp.c
index e4f1a4b..ef9ee6f 100644
--- a/src/tcp.c
+++ b/src/tcp.c
@@ -36,6 +36,7 @@ static int meth_accept(lua_State *L);
36static int meth_close(lua_State *L); 36static int meth_close(lua_State *L);
37static int meth_getoption(lua_State *L); 37static int meth_getoption(lua_State *L);
38static int meth_setoption(lua_State *L); 38static int meth_setoption(lua_State *L);
39static int meth_gettimeout(lua_State *L);
39static int meth_settimeout(lua_State *L); 40static int meth_settimeout(lua_State *L);
40static int meth_getfd(lua_State *L); 41static int meth_getfd(lua_State *L);
41static int meth_setfd(lua_State *L); 42static int meth_setfd(lua_State *L);
@@ -65,6 +66,7 @@ static luaL_Reg tcp_methods[] = {
65 {"setpeername", meth_connect}, 66 {"setpeername", meth_connect},
66 {"setsockname", meth_bind}, 67 {"setsockname", meth_bind},
67 {"settimeout", meth_settimeout}, 68 {"settimeout", meth_settimeout},
69 {"gettimeout", meth_gettimeout},
68 {"shutdown", meth_shutdown}, 70 {"shutdown", meth_shutdown},
69 {NULL, NULL} 71 {NULL, NULL}
70}; 72};
@@ -350,6 +352,12 @@ static int meth_settimeout(lua_State *L)
350 return timeout_meth_settimeout(L, &tcp->tm); 352 return timeout_meth_settimeout(L, &tcp->tm);
351} 353}
352 354
355static int meth_gettimeout(lua_State *L)
356{
357 p_tcp tcp = (p_tcp) auxiliar_checkgroup(L, "tcp{any}", 1);
358 return timeout_meth_gettimeout(L, &tcp->tm);
359}
360
353/*=========================================================================*\ 361/*=========================================================================*\
354* Library functions 362* Library functions
355\*=========================================================================*/ 363\*=========================================================================*/
diff --git a/src/timeout.c b/src/timeout.c
index 087d033..5a601d5 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -173,6 +173,16 @@ int timeout_meth_settimeout(lua_State *L, p_timeout tm) {
173 return 1; 173 return 1;
174} 174}
175 175
176/*-------------------------------------------------------------------------*\
177* Gets timeout values for IO operations
178* Lua Output: block, total
179\*-------------------------------------------------------------------------*/
180int timeout_meth_gettimeout(lua_State *L, p_timeout tm) {
181 lua_pushnumber(L, tm->block);
182 lua_pushnumber(L, tm->total);
183 return 2;
184}
185
176/*=========================================================================*\ 186/*=========================================================================*\
177* Test support functions 187* Test support functions
178\*=========================================================================*/ 188\*=========================================================================*/
diff --git a/src/timeout.h b/src/timeout.h
index 6715ca7..af90231 100644
--- a/src/timeout.h
+++ b/src/timeout.h
@@ -22,6 +22,7 @@ p_timeout timeout_markstart(p_timeout tm);
22double timeout_getstart(p_timeout tm); 22double timeout_getstart(p_timeout tm);
23double timeout_gettime(void); 23double timeout_gettime(void);
24int timeout_meth_settimeout(lua_State *L, p_timeout tm); 24int timeout_meth_settimeout(lua_State *L, p_timeout tm);
25int timeout_meth_gettimeout(lua_State *L, p_timeout tm);
25 26
26#define timeout_iszero(tm) ((tm)->block == 0.0) 27#define timeout_iszero(tm) ((tm)->block == 0.0)
27 28
diff --git a/src/udp.c b/src/udp.c
index 968dca8..ec97252 100644
--- a/src/udp.c
+++ b/src/udp.c
@@ -36,6 +36,7 @@ static int meth_receivefrom(lua_State *L);
36static int meth_getfamily(lua_State *L); 36static int meth_getfamily(lua_State *L);
37static int meth_getsockname(lua_State *L); 37static int meth_getsockname(lua_State *L);
38static int meth_getpeername(lua_State *L); 38static int meth_getpeername(lua_State *L);
39static int meth_gettimeout(lua_State *L);
39static int meth_setsockname(lua_State *L); 40static int meth_setsockname(lua_State *L);
40static int meth_setpeername(lua_State *L); 41static int meth_setpeername(lua_State *L);
41static int meth_close(lua_State *L); 42static int meth_close(lua_State *L);
@@ -66,6 +67,7 @@ static luaL_Reg udp_methods[] = {
66 {"setpeername", meth_setpeername}, 67 {"setpeername", meth_setpeername},
67 {"setsockname", meth_setsockname}, 68 {"setsockname", meth_setsockname},
68 {"settimeout", meth_settimeout}, 69 {"settimeout", meth_settimeout},
70 {"gettimeout", meth_gettimeout},
69 {NULL, NULL} 71 {NULL, NULL}
70}; 72};
71 73
@@ -347,6 +349,11 @@ static int meth_settimeout(lua_State *L) {
347 return timeout_meth_settimeout(L, &udp->tm); 349 return timeout_meth_settimeout(L, &udp->tm);
348} 350}
349 351
352static int meth_gettimeout(lua_State *L) {
353 p_udp udp = (p_udp) auxiliar_checkgroup(L, "udp{any}", 1);
354 return timeout_meth_gettimeout(L, &udp->tm);
355}
356
350/*-------------------------------------------------------------------------*\ 357/*-------------------------------------------------------------------------*\
351* Turns a master udp object into a client object. 358* Turns a master udp object into a client object.
352\*-------------------------------------------------------------------------*/ 359\*-------------------------------------------------------------------------*/