File

plugins/keepalive.lua @ 485:c9a144591649

component: Avoid adding to the global stream metatable This allows component and client connections to be made side-by-side. Previous to this change, loading this connection module would break the ability to make client connections, due to overriding stream methods such as :reopen() and :reset(). A next step would be to share the methods that the two connection modules have in common.
author Matthew Wild <mwild1@gmail.com>
date Thu, 23 Mar 2023 18:56:32 +0000
parent 250:a5ac643a7fd6
line wrap: on
line source

local verse = require "verse";

function verse.plugins.keepalive(stream)
	stream.keepalive_timeout = stream.keepalive_timeout or 300;
	verse.add_task(stream.keepalive_timeout, function ()
		stream.conn:write(" ");
		return stream.keepalive_timeout;
	end);
end