bufferevent learned (get|set)_timeouts

Sun, 25 Nov 2007 18:16:32 -0500

author
Thomas Harning Jr <harningt@gmail.com>
date
Sun, 25 Nov 2007 18:16:32 -0500
changeset 59
9c826ee8193c
parent 58
03d12148100c
child 60
5541ffe08e77

bufferevent learned (get|set)_timeouts

doc/modules/luaevent.core.bufferevent.mdwn file | annotate | diff | comparison | revisions
src/buffer_event.c file | annotate | diff | comparison | revisions
--- a/doc/modules/luaevent.core.bufferevent.mdwn	Sun Nov 25 18:08:11 2007 -0500
+++ b/doc/modules/luaevent.core.bufferevent.mdwn	Sun Nov 25 18:16:32 2007 -0500
@@ -50,3 +50,13 @@
 ## bufferevent:get_write_watermarks
 * Output: `low, high`
 * See `set_write_watermarks`
+
+## bufferevent:set_timeouts
+* Sets timeouts for the bufferevent's events
+* Input: `(read, write)`
+	* `read` - Read readiness timeout
+	* `write` - Write readiness timeout
+
+## bufferevent:get_timeouts
+* Output: `read, write`
+* See `set_timeouts`
--- a/src/buffer_event.c	Sun Nov 25 18:08:11 2007 -0500
+++ b/src/buffer_event.c	Sun Nov 25 18:16:32 2007 -0500
@@ -185,6 +185,27 @@
 	return 2;
 }
 
+static int buffer_event_set_timeouts(lua_State* L) {
+	int timeout_read, timeout_write;
+	le_bufferevent* ev = buffer_event_get(L, 1);
+	if(!ev->ev) return 0;
+
+	timeout_read = lua_tointeger(L, 2);
+	timeout_write = lua_tointeger(L, 3);
+
+	bufferevent_settimeout(ev->ev, timeout_read, timeout_write);
+	return 0;
+}
+
+static int buffer_event_get_timeouts(lua_State* L) {
+	le_bufferevent* ev = buffer_event_get(L, 1);
+	if(!ev->ev) return 0;
+
+	lua_pushinteger(L, ev->ev->timeout_read);
+	lua_pushinteger(L, ev->ev->timeout_write);
+	return 2;
+}
+
 static luaL_Reg buffer_event_funcs[] = {
 	{"get_read", buffer_event_get_read},
 	{"get_write", buffer_event_get_write},
@@ -192,6 +213,8 @@
 	{"set_write_watermarks", buffer_event_set_write_watermarks},
 	{"get_read_watermarks", buffer_event_get_read_watermarks},
 	{"get_write_watermarks", buffer_event_get_write_watermarks},
+	{"set_timeouts", buffer_event_set_timeouts},
+	{"get_timeouts", buffer_event_get_timeouts},
 	{NULL, NULL}
 };
 

mercurial