net/connlisteners.lua

branch
s2s
changeset 127
93f3c6b94c75
parent 99
ba08b8a4eeef
child 145
fbb3a4ff9cf1
equal deleted inserted replaced
126:63863534b1f1 127:93f3c6b94c75
21 21
22 function deregister(name) 22 function deregister(name)
23 listeners[name] = nil; 23 listeners[name] = nil;
24 end 24 end
25 25
26 function start(name, udata) 26 function get(name)
27 local h = listeners[name] 27 local h = listeners[name];
28 if not h then 28 if not h then
29 pcall(dofile, "net/"..name:gsub("[^%w%-]", "_").."_listener.lua"); 29 pcall(dofile, "net/"..name:gsub("[^%w%-]", "_").."_listener.lua");
30 h = listeners[name]; 30 h = listeners[name];
31 if not h then 31
32 error("No such connection module: "..name, 0); 32 end
33 end 33 return h;
34 end
35
36 function start(name, udata)
37 local h = get(name);
38 if not h then
39 error("No such connection module: "..name, 0);
34 end 40 end
35 return server_add(h, 41 return server_add(h,
36 udata.port or h.default_port or error("Can't start listener "..name.." because no port was specified, and it has no default port", 0), 42 udata.port or h.default_port or error("Can't start listener "..name.." because no port was specified, and it has no default port", 0),
37 udata.interface or "*", udata.mode or h.default_mode or 1, udata.ssl ); 43 udata.interface or "*", udata.mode or h.default_mode or 1, udata.ssl );
38 end 44 end

mercurial