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 |