Changeset

5385:d663483036db

net.server, _select: Reorganise configuration of server_select to be more like server_event
author Kim Alvefur <zash@zash.se>
date Sat, 23 Mar 2013 20:06:02 +0100
parents 5384:24f4aed5824f
children 5386:43059357b2f0
files net/server.lua net/server_select.lua
diffstat 2 files changed, 23 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/net/server.lua	Sat Mar 23 15:00:49 2013 +0100
+++ b/net/server.lua	Sat Mar 23 20:06:02 2013 +0100
@@ -42,6 +42,10 @@
 
 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 @@
 				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();
--- a/net/server_select.lua	Sat Mar 23 15:00:49 2013 +0100
+++ b/net/server_select.lua	Sat Mar 23 20:06:02 2013 +0100
@@ -769,7 +769,18 @@
 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 )