view plugins/mod_storage_none.lua @ 14198:73903352de86

util.smqueue: Refactor checkpoint logic and add tests The previous checkpoint logic used recursion, and the code was more complex than needed due to maintenance of the self._next_checkpoint field. This switches to a loop, which should be a bit more efficient, partly because there are fewer calls (although it was a tail call) and because table lookups can now be cached between each execution. _call_checkpoints() is now called unconditionally for every ack, which is simpler though adds a function call, it should be more than balanced out by the other changes.
author Matthew Wild <mwild1@gmail.com>
date Tue, 26 May 2026 15:36:36 +0100
parents ef671d337577
children
line wrap: on
line source

-- luacheck: ignore 212

local driver = {};
local driver_mt = { __index = driver };

function driver:open(store, typ)
	if typ and typ ~= "keyval" and typ ~= "archive" then
		return nil, "unsupported-store";
	end
	return setmetatable({ store = store, type = typ }, driver_mt);
end
function driver:get(user)
	return {};
end

function driver:set(user, data)
	return nil, "Storage disabled";
end

function driver:stores(username)
	return { "roster" };
end

function driver:purge(user)
	return true;
end

function driver:append()
	return nil, "Storage disabled";
end

function driver:find()
	return function () end, 0;
end

function driver:delete()
	return true;
end

module:provides("storage", driver);