diff options
author | Kim Alvefur <zash@zash.se> | 2018-09-26 14:25:59 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2018-09-26 14:25:59 +0200 |
commit | 437fd63c6ff097d6a09d162ef9b6a104d73fa723 (patch) | |
tree | aaf5dc7cdf93938b5caf6c2ef7451caf7cf0ae13 /net | |
parent | 341cb9cc54b2555e9313f7613e7f389c1352bc51 (diff) | |
download | prosody-437fd63c6ff097d6a09d162ef9b6a104d73fa723.tar.gz prosody-437fd63c6ff097d6a09d162ef9b6a104d73fa723.zip |
net.server: Call a 'onattach' callback when replacing listeners
Diffstat (limited to 'net')
-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 |