From c51d0beea7af41fd615cb11640a2a6bb0fcf1aab Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Wed, 5 May 2010 15:21:17 +0100 Subject: net.server_select, net.server_event: Support for :pause() and :resume() on connections --- net/server_event.lua | 15 ++++++++++++++- net/server_select.lua | 7 +++++++ 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'net') diff --git a/net/server_event.lua b/net/server_event.lua index dde13e61..c28c5ce2 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -282,8 +282,21 @@ do return nointerface, noreading, nowriting end + --TODO: Deprecate function interface_mt:lock_read(switch) - return self:_lock(self.nointerface, switch, self.nowriting); + if switch then + return self:pause(); + else + return self:resume(); + end + end + + function interface_mt:pause() + return self:_lock(self.nointerface, true, self.nowriting); + end + + function interface_mt:resume() + return self:_lock(self.nointerface, false, self.nowriting); end function interface_mt:counter(c) diff --git a/net/server_select.lua b/net/server_select.lua index 48262ccc..6d6f7fbc 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -392,6 +392,7 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport maxreadlen = readlen or maxreadlen return bufferlen, maxreadlen, maxsendlen end + --TODO: Deprecate handler.lock_read = function (self, switch) if switch == true then local tmp = _readlistlen @@ -409,6 +410,12 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport end return noread end + handler.pause = function (self) + return self:lock_read(true); + end + handler.resume = function (self) + return self:lock_read(false); + end handler.lock = function( self, switch ) handler.lock_read (switch) if switch == true then -- cgit v1.2.3