From a40ad27d1e7ffccd986487ddb02e6d685a628a17 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 7 Mar 2009 19:56:53 +0000 Subject: net.server: Allow replacement of send function on an open socket --- net/server.lua | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'net') diff --git a/net/server.lua b/net/server.lua index 361c5949..891d32db 100644 --- a/net/server.lua +++ b/net/server.lua @@ -386,6 +386,10 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport pattern = new or pattern return pattern end + handler.setsend = function ( newsend ) + send = newsend or send + return send + end handler.bufferlen = function( readlen, sendlen ) maxsendlen = sendlen or maxsendlen maxreadlen = readlen or maxreadlen -- cgit v1.2.3 From 9dd38d32f927e10b0a1d9346cc0e000009d8256a Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Sat, 7 Mar 2009 19:57:28 +0000 Subject: net.adns: Set new send in net.server after 'connecting UDP' socket --- net/adns.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'net') diff --git a/net/adns.lua b/net/adns.lua index 200784aa..cb784d40 100644 --- a/net/adns.lua +++ b/net/adns.lua @@ -29,7 +29,7 @@ function new_async_socket(sock) newconn.handler, newconn._socket = server.wrapclient(sock, "dns", 53, listener); newconn.handler.settimeout = function () end newconn.handler.setsockname = function (_, ...) return sock:setsockname(...); end - newconn.handler.setpeername = function (_, ...) return sock:setpeername(...); end + newconn.handler.setpeername = function (_, ...) local ret = sock:setpeername(...); _.setsend(sock.send); return ret; end newconn.handler.connect = function (_, ...) return sock:connect(...) end newconn.handler.send = function (_, data) return _.write(data) end return newconn.handler; -- cgit v1.2.3