Software /
code /
prosody
Diff
core/sessionmanager.lua @ 2168:1a99a3bf3ce6 0.6.0
Merge with 0.6 on prosody.im
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Wed, 25 Nov 2009 05:11:10 +0000 |
parent | 2141:f544729f9228 |
child | 2144:8e59d37a0e68 |
child | 2816:59dfb99831ae |
line wrap: on
line diff
--- a/core/sessionmanager.lua Wed Nov 25 03:30:00 2009 +0000 +++ b/core/sessionmanager.lua Wed Nov 25 05:11:10 2009 +0000 @@ -201,22 +201,32 @@ end function send_to_available_resources(user, host, stanza) + local jid = user.."@"..host; local count = 0; - local to = stanza.attr.to; - stanza.attr.to = nil; - local h = hosts[host]; - if h and h.type == "local" then - local u = h.sessions[user]; - if u then - for k, session in pairs(u.sessions) do - if session.presence then - session.send(stanza); - count = count + 1; - end + local user = bare_sessions[jid]; + if user then + for k, session in pairs(user.sessions) do + if session.presence then + session.send(stanza); + count = count + 1; end end end - stanza.attr.to = to; + return count; +end + +function send_to_interested_resources(user, host, stanza) + local jid = user.."@"..host; + local count = 0; + local user = bare_sessions[jid]; + if user then + for k, session in pairs(user.sessions) do + if session.interested then + session.send(stanza); + count = count + 1; + end + end + end return count; end