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

Sat, 21 Nov 2009 02:39:08 +0000

author
Matthew Wild <mwild1@gmail.com>
date
Sat, 21 Nov 2009 02:39:08 +0000
changeset 2094
c69cb5c171e0
parent 2093
abfa1cc3a42f
child 2095
3256c5d00901

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

net/server.lua file | annotate | diff | comparison | revisions
--- /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;

mercurial