Mercurial > prosody-hg
comparison net/server.lua @ 12974:ba409c67353b
net: Prefix module imports with prosody namespace
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 17 Mar 2023 16:23:12 +0100 |
| parents | 2ee27587fec7 |
| children | e6e76f64ebb6 |
comparison
equal
deleted
inserted
replaced
| 12973:cc215923297f | 12974:ba409c67353b |
|---|---|
| 10 -- This module only supports loading inside Prosody, outside Prosody | 10 -- This module only supports loading inside Prosody, outside Prosody |
| 11 -- you should directly require net.server_select or server_event, etc. | 11 -- you should directly require net.server_select or server_event, etc. |
| 12 error(debug.traceback("Loading outside Prosody or Prosody not yet initialized"), 0); | 12 error(debug.traceback("Loading outside Prosody or Prosody not yet initialized"), 0); |
| 13 end | 13 end |
| 14 | 14 |
| 15 local log = require "util.logger".init("net.server"); | 15 local log = require "prosody.util.logger".init("net.server"); |
| 16 | 16 |
| 17 local default_backend = "epoll"; | 17 local default_backend = "epoll"; |
| 18 | 18 |
| 19 local server_type = require "core.configmanager".get("*", "network_backend") or default_backend; | 19 local server_type = require "prosody.core.configmanager".get("*", "network_backend") or default_backend; |
| 20 | 20 |
| 21 if require "core.configmanager".get("*", "use_libevent") then | 21 if require "prosody.core.configmanager".get("*", "use_libevent") then |
| 22 server_type = "event"; | 22 server_type = "event"; |
| 23 end | 23 end |
| 24 | 24 |
| 25 if server_type == "event" then | 25 if server_type == "event" then |
| 26 if not pcall(require, "luaevent.core") then | 26 if not pcall(require, "luaevent.core") then |
| 30 end | 30 end |
| 31 | 31 |
| 32 local server; | 32 local server; |
| 33 local set_config; | 33 local set_config; |
| 34 if server_type == "event" then | 34 if server_type == "event" then |
| 35 server = require "net.server_event"; | 35 server = require "prosody.net.server_event"; |
| 36 | 36 |
| 37 local defaults = {}; | 37 local defaults = {}; |
| 38 for k,v in pairs(server.cfg) do | 38 for k,v in pairs(server.cfg) do |
| 39 defaults[k] = v; | 39 defaults[k] = v; |
| 40 end | 40 end |
| 59 end | 59 end |
| 60 end | 60 end |
| 61 elseif server_type == "select" then | 61 elseif server_type == "select" then |
| 62 -- TODO Remove completely. | 62 -- TODO Remove completely. |
| 63 log("warn", "select is deprecated, the new default is epoll. For more info see https://prosody.im/doc/network_backend"); | 63 log("warn", "select is deprecated, the new default is epoll. For more info see https://prosody.im/doc/network_backend"); |
| 64 server = require "net.server_select"; | 64 server = require "prosody.net.server_select"; |
| 65 | 65 |
| 66 local defaults = {}; | 66 local defaults = {}; |
| 67 for k,v in pairs(server.getsettings()) do | 67 for k,v in pairs(server.getsettings()) do |
| 68 defaults[k] = v; | 68 defaults[k] = v; |
| 69 end | 69 end |
| 73 select_settings[k] = settings[k] or default; | 73 select_settings[k] = settings[k] or default; |
| 74 end | 74 end |
| 75 server.changesettings(select_settings); | 75 server.changesettings(select_settings); |
| 76 end | 76 end |
| 77 else | 77 else |
| 78 server = require("net.server_"..server_type); | 78 server = require("prosody.net.server_"..server_type); |
| 79 set_config = server.set_config; | 79 set_config = server.set_config; |
| 80 if not server.get_backend then | 80 if not server.get_backend then |
| 81 function server.get_backend() | 81 function server.get_backend() |
| 82 return server_type; | 82 return server_type; |
| 83 end | 83 end |
| 84 end | 84 end |
| 85 end | 85 end |
| 86 | 86 |
| 87 -- If server.hook_signal exists, replace signal.signal() | 87 -- If server.hook_signal exists, replace signal.signal() |
| 88 local has_signal, signal = pcall(require, "util.signal"); | 88 local has_signal, signal = pcall(require, "prosody.util.signal"); |
| 89 if has_signal then | 89 if has_signal then |
| 90 if server.hook_signal then | 90 if server.hook_signal then |
| 91 function signal.signal(signal_id, handler) | 91 function signal.signal(signal_id, handler) |
| 92 if type(signal_id) == "string" then | 92 if type(signal_id) == "string" then |
| 93 signal_id = signal[signal_id:upper()]; | 93 signal_id = signal[signal_id:upper()]; |
| 107 end | 107 end |
| 108 end | 108 end |
| 109 end | 109 end |
| 110 | 110 |
| 111 if prosody and set_config then | 111 if prosody and set_config then |
| 112 local config_get = require "core.configmanager".get; | 112 local config_get = require "prosody.core.configmanager".get; |
| 113 local function load_config() | 113 local function load_config() |
| 114 local settings = config_get("*", "network_settings") or {}; | 114 local settings = config_get("*", "network_settings") or {}; |
| 115 return set_config(settings); | 115 return set_config(settings); |
| 116 end | 116 end |
| 117 load_config(); | 117 load_config(); |
| 123 -- prosody.paths.config | 123 -- prosody.paths.config |
| 124 function server.tls_builder() | 124 function server.tls_builder() |
| 125 return tls_builder(prosody.paths.config or "") | 125 return tls_builder(prosody.paths.config or "") |
| 126 end | 126 end |
| 127 | 127 |
| 128 -- require "net.server" shall now forever return this, | 128 -- require "prosody.net.server" shall now forever return this, |
| 129 -- ie. server_select or server_event as chosen above. | 129 -- ie. server_select or server_event as chosen above. |
| 130 return server; | 130 return server; |
