diff options
-rw-r--r-- | net/server_epoll.lua | 1 | ||||
-rw-r--r-- | net/server_event.lua | 4 | ||||
-rw-r--r-- | net/server_select.lua | 3 |
3 files changed, 8 insertions, 0 deletions
diff --git a/net/server_epoll.lua b/net/server_epoll.lua index 04922f6e..23b3f376 100644 --- a/net/server_epoll.lua +++ b/net/server_epoll.lua @@ -139,6 +139,7 @@ end function interface:setlistener(listeners) self:on("detach"); self.listeners = listeners; + self:on("attach"); end -- Call a listener callback diff --git a/net/server_event.lua b/net/server_event.lua index 6daf0944..8ee2f28d 100644 --- a/net/server_event.lua +++ b/net/server_event.lua @@ -424,7 +424,9 @@ function interface_mt:setlistener(listener) self.onreadtimeout = listener.onreadtimeout; self.onstatus = listener.onstatus; self.ondetach = listener.ondetach; + self.onattach = listener.onattach; self.ondrain = listener.ondrain; + self:onattach(); end -- Stub handlers @@ -446,6 +448,8 @@ function interface_mt:ondrain() end function interface_mt:ondetach() end +function interface_mt:onattach() +end function interface_mt:onstatus() end diff --git a/net/server_select.lua b/net/server_select.lua index 2cd095fe..1b535bb7 100644 --- a/net/server_select.lua +++ b/net/server_select.lua @@ -331,6 +331,9 @@ wrapconnection = function( server, listeners, socket, ip, serverport, clientport drain = listeners.ondrain handler.onreadtimeout = listeners.onreadtimeout detach = listeners.ondetach + if listeners.onattach then + listeners.onattach(self) + end end handler.getstats = function( ) return readtraffic, sendtraffic |