aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2013-03-23 20:06:02 +0100
committerKim Alvefur <zash@zash.se>2013-03-23 20:06:02 +0100
commit39acad1765011e6646dcc1308941b7b84a1fee60 (patch)
tree4a17402e08fb1e324c6bfc3a0ecea351bfa3592c /net
parent2e91cb38d916439977f5fe3e69c993b7825fc3ee (diff)
downloadprosody-39acad1765011e6646dcc1308941b7b84a1fee60.tar.gz
prosody-39acad1765011e6646dcc1308941b7b84a1fee60.zip
net.server, _select: Reorganise configuration of server_select to be more like server_event
Diffstat (limited to 'net')
-rw-r--r--net/server.lua14
-rw-r--r--net/server_select.lua13
2 files changed, 23 insertions, 4 deletions
diff --git a/net/server.lua b/net/server.lua
index deabaa12..ae3d45b0 100644
--- a/net/server.lua
+++ b/net/server.lua
@@ -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();
diff --git a/net/server_select.lua b/net/server_select.lua
index 63a94b7e..8ce9eed2 100644
--- a/net/server_select.lua
+++ b/net/server_select.lua
@@ -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 )