# HG changeset patch # User Emmanuel Gil Peyrot # Date 1491156534 -3600 # Node ID 5cbbe825d9d1d1f35dc71ff6aa3b0bf143714993 # Parent 352d605b1178aa66a95033ca026afe6589430a93 util.pubsub: Add a node parameter to itemstore(). This allows the backend to know the node name, when it needs to differentiate it at storage for example. diff -r 352d605b1178 -r 5cbbe825d9d1 util/pubsub.lua --- a/util/pubsub.lua Fri Apr 14 22:45:59 2017 +0100 +++ b/util/pubsub.lua Sun Apr 02 19:08:54 2017 +0100 @@ -5,7 +5,7 @@ local service_mt = { __index = service }; local default_config = { __index = { - itemstore = function (config) return cache.new(tonumber(config["pubsub#max_items"])) end; + itemstore = function (config, _) return cache.new(tonumber(config["pubsub#max_items"])) end; broadcaster = function () end; get_affiliation = function () end; capabilities = {}; @@ -223,7 +223,7 @@ config = setmetatable(options or {}, {__index=self.node_defaults}); affiliations = {}; }; - self.data[node] = self.config.itemstore(self.nodes[node].config); + self.data[node] = self.config.itemstore(self.nodes[node].config, node); self.events.fire_event("node-created", { node = node, actor = actor }); local ok, err = self:set_affiliation(node, true, actor, "owner"); if not ok then @@ -308,7 +308,7 @@ if not node_obj then return false, "item-not-found"; end - self.data[node] = self.config.itemstore(self.nodes[node].config); + self.data[node] = self.config.itemstore(self.nodes[node].config, node); self.events.fire_event("node-purged", { node = node, actor = actor }); if notify then self.config.broadcaster("purge", node, node_obj.subscribers); @@ -424,7 +424,7 @@ for k,v in pairs(new_config) do node_obj.config[k] = v; end - local new_data = self.config.itemstore(self.nodes[node].config); + local new_data = self.config.itemstore(self.nodes[node].config, node); for key, value in self.data[node]:items() do new_data:set(key, value); end