Software /
code /
prosody
File
plugins/mod_ping.lua @ 9879:ddc07fb8dcd4 0.11
mod_mam: Perform message expiry based on building an index by date (backport of 39ee70fbb009 from trunk)
For each day, store a set of users that have new messages. To expire
messages, we collect the union of sets of users from dates that fall
outside the cleanup range.
The previous algoritm did not work well with many users, especially with
the default settings.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Fri, 22 Mar 2019 17:32:56 +0100 |
parent | 9572:867e40b82409 |
child | 10399:270cb2821566 |
line wrap: on
line source
-- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain -- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- local st = require "util.stanza"; module:add_feature("urn:xmpp:ping"); local function ping_handler(event) return event.origin.send(st.reply(event.stanza)); end module:hook("iq-get/bare/urn:xmpp:ping:ping", ping_handler); module:hook("iq-get/host/urn:xmpp:ping:ping", ping_handler); -- Ad-hoc command local datetime = require "util.datetime".datetime; function ping_command_handler (self, data, state) -- luacheck: ignore 212 local now = datetime(); return { info = "Pong\n"..now, status = "completed" }; end module:depends "adhoc"; local adhoc_new = module:require "adhoc".new; local descriptor = adhoc_new("Ping", "ping", ping_command_handler); module:provides("adhoc", descriptor);