Changeset

2094:c69cb5c171e0

net.server: New net.server to choose the appropriate library from server_select/server_event based on the availability of luaevent and the use_libevent config option
author Matthew Wild <mwild1@gmail.com>
date Sat, 21 Nov 2009 02:39:08 +0000
parents 2093:abfa1cc3a42f
children 2095:3256c5d00901
files net/server.lua
diffstat 1 files changed, 21 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/net/server.lua	Sat Nov 21 02:39:08 2009 +0000
@@ -0,0 +1,21 @@
+local have_luaevent = pcall(require, "luaevent.core");
+local use_luaevent = require "core.configmanager".get("*", "core", "use_libevent");
+
+local server;
+
+if have_luaevent and use_luaevent == true then
+	server = require "net.server_event";
+	package.loaded["net.server"] = server;
+	
+	-- Backwards compatibility for timers, addtimer
+	-- called a function roughly every second
+	local add_task = require "util.timer";
+	function server.addtimer(f)
+		return add_task(1, function (...) f(...); return 1; end);
+	end
+else
+	server = require "net.server_select";
+	package.loaded["net.server"] = server;
+end
+
+return server;