net.server_{select,event}: addclient: Add argument for overriding socket type

remotes/origin/0.11
Kim Alvefur 12 years ago
parent 03b5e2a257
commit ae81ea6eda
  1. 11
      net/server_event.lua
  2. 11
      net/server_select.lua

@ -742,12 +742,19 @@ do
--function handleclient( client, ip, port, server, pattern, listener, _, sslctx ) -- creates an client interface
end
function addclient( addr, serverport, listener, pattern, sslctx )
function addclient( addr, serverport, listener, pattern, sslctx, typ )
if sslctx and not has_luasec then
debug "need luasec, but not available"
return nil, "luasec not found"
end
local client, err = socket.tcp() -- creating new socket
if not typ then
typ = "tcp"
end
local create = socket[typ]
if type( create ) ~= "function" then
return nil, "invalid socket type"
end
local client, err = create() -- creating new socket
if not client then
debug( "cannot create socket:", err )
return nil, err

@ -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

Loading…
Cancel
Save