File

plugins/mod_ping.lua @ 9450:b890ceb1c24f

util.poll: Increase max epoll events per call This makes the struct roughly the same size in both epoll and select mode (64bit). There doesn’t seem to be much guidance on an appropriate size, it does not seem to matter too much since if there are more events they will simply show up in the next epoll_wait call. The number of exactly concurrent events should be fairly low most of the time anyways.
author Kim Alvefur <zash@zash.se>
date Mon, 08 Oct 2018 15:33:15 +0200
parent 8963:ff522d5db95d
child 9572:867e40b82409
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:add_item ("adhoc", descriptor);