net.server, _select: Reorganise configuration of server_select to be more like server_event

This commit is contained in:
Kim Alvefur 2013-03-23 20:06:02 +01:00
parent 2e91cb38d9
commit 39acad1765
2 changed files with 23 additions and 4 deletions

View file

@ -42,6 +42,10 @@ end
if prosody then
local config_get = require "core.configmanager".get;
local defaults = {};
for k,v in pairs(server.cfg or server.getsettings()) do
defaults[k] = v;
end
local function load_config()
local settings = config_get("*", "network_settings") or {};
if use_luaevent then
@ -59,11 +63,15 @@ if prosody then
WRITE_TIMEOUT = settings.send_timeout;
};
for k, v in pairs(event_settings) do
server.cfg[k] = v;
for k,default in pairs(defaults) do
server.cfg[k] = event_settings[k] or default;
end
else
server.changesettings(settings);
local select_settings = {};
for k,default in pairs(defaults) do
select_settings[k] = settings[k] or default;
end
server.changesettings(select_settings);
end
end
load_config();

View file

@ -769,7 +769,18 @@ closeall = function( )
end
getsettings = function( )
return _selecttimeout, _sleeptime, _maxsendlen, _maxreadlen, _checkinterval, _sendtimeout, _readtimeout, nil, _maxselectlen, _maxsslhandshake, _maxfd
return {
select_timeout = _selecttimeout;
select_sleep_time = _sleeptime;
max_send_buffer_size = _maxsendlen;
max_receive_buffer_size = _maxreadlen;
select_idle_check_interval = _checkinterval;
send_timeout = _sendtimeout;
read_timeout = _readtimeout;
max_connections = _maxselectlen;
max_ssl_handshake_roundtrips = _maxsslhandshake;
highest_allowed_fd = _maxfd;
}
end
changesettings = function( new )