Comparison

net/server.lua @ 4808:07d0a3a75c8a

net.server, net.timer, net.server_select: Rearrange dependencies between these three modules. server.addtimer() is no longer a public function (renamed to _addtimer) and is not available at all from server_event (compat code removed to prevent traceback) (thanks Nulani)
author Matthew Wild <mwild1@gmail.com>
date Thu, 03 May 2012 16:48:34 +0100
parent 3461:447634564356
child 4811:1d1fdfa29f06
comparison
equal deleted inserted replaced
4807:2999f0fd1347 4808:07d0a3a75c8a
16 end 16 end
17 17
18 local server; 18 local server;
19 19
20 if use_luaevent then 20 if use_luaevent then
21 server = require "net.server_event"; 21 server = require "net.server_select";
22 -- util.timer requires "net.server", so instead of having 22
23 -- Lua look for, and load us again (causing a loop) - set this here
24 -- (usually it isn't set until we return, look down there...)
25 package.loaded["net.server"] = server;
26
27 -- Backwards compatibility for timers, addtimer
28 -- called a function roughly every second
29 local add_task = require "util.timer".add_task;
30 function server.addtimer(f)
31 return add_task(1, function (...) f(...); return 1; end);
32 end
33
34 -- Overwrite signal.signal() because we need to ask libevent to 23 -- Overwrite signal.signal() because we need to ask libevent to
35 -- handle them instead 24 -- handle them instead
36 local ok, signal = pcall(require, "util.signal"); 25 local ok, signal = pcall(require, "util.signal");
37 if ok and signal then 26 if ok and signal then
38 local _signal_signal = signal.signal; 27 local _signal_signal = signal.signal;
46 return server.hook_signal(signal_id, handler); 35 return server.hook_signal(signal_id, handler);
47 end 36 end
48 end 37 end
49 else 38 else
50 server = require "net.server_select"; 39 server = require "net.server_select";
51 package.loaded["net.server"] = server;
52 end 40 end
53 41
54 -- require "net.server" shall now forever return this, 42 -- require "net.server" shall now forever return this,
55 -- ie. server_select or server_event as chosen above. 43 -- ie. server_select or server_event as chosen above.
56 return server; 44 return server;