diff options
author | Matthew Wild <mwild1@gmail.com> | 2009-11-21 02:39:08 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2009-11-21 02:39:08 +0000 |
commit | 2a8668dd30b4e52cd7e7f916527ae31694f01701 (patch) | |
tree | f1ae30af150e1613259a6ad094e57d60dfe3c4c9 /net | |
parent | 7f86cfbcc015218d36347be850be0849f55413fc (diff) | |
download | prosody-2a8668dd30b4e52cd7e7f916527ae31694f01701.tar.gz prosody-2a8668dd30b4e52cd7e7f916527ae31694f01701.zip |
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
Diffstat (limited to 'net')
-rw-r--r-- | net/server.lua | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/net/server.lua b/net/server.lua new file mode 100644 index 00000000..507bd81e --- /dev/null +++ b/net/server.lua @@ -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; |