diff options
author | Kim Alvefur <zash@zash.se> | 2013-12-23 17:55:41 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2013-12-23 17:55:41 +0100 |
commit | ae81ea6edae7c3b151aa831324ff5d80fbc238fa (patch) | |
tree | 385240a3cc3fa639d82cb948e2a7846f605b5f1c /net/server_select.lua | |
parent | 03b5e2a257b036b3915d7905682ffef025858a19 (diff) | |
download | prosody-ae81ea6edae7c3b151aa831324ff5d80fbc238fa.tar.gz prosody-ae81ea6edae7c3b151aa831324ff5d80fbc238fa.zip |
net.server_{select,event}: addclient: Add argument for overriding socket type
Diffstat (limited to 'net/server_select.lua')
-rw-r--r-- | net/server_select.lua | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/net/server_select.lua b/net/server_select.lua index 71db5006..537ff440 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -942,7 +942,7 @@ local wrapclient = function( socket, ip, serverport, listeners, pattern, sslctx return handler, socket end -local addclient = function( address, port, listeners, pattern, sslctx ) +local addclient = function( address, port, listeners, pattern, sslctx, typ ) local err if type( listeners ) ~= "table" then err = "invalid listener table" @@ -953,12 +953,19 @@ local addclient = function( address, port, listeners, pattern, sslctx ) elseif sslctx and not has_luasec then err = "luasec not found" end + if not typ then + typ = "tcp" + end + local create = luasocket[typ] + if type( create ) ~= "function" then + err = "invalid socket type" + end if err then out_error( "server.lua, addclient: ", err ) return nil, err end - local client, err = luasocket.tcp( ) + local client, err = create( ) if err then return nil, err end |