local events = require "util.events";
local t_remove = table.remove;
-module("pubsub", package.seeall);
-
local service = {};
local service_mt = { __index = service };
["pubsub#max_items"] = "20";
} };
-function new(config)
+local function new(config)
config = config or {};
return setmetatable({
config = setmetatable(config, default_config);
node_data[id] = item;
trim_items(node_data, node_obj.config["pubsub#max_items"]);
self.events.fire_event("item-published", { node = node, actor = actor, id = id, item = item });
- self.config.broadcaster("items", node, node_obj.subscribers, item);
+ self.config.broadcaster("items", node, node_obj.subscribers, item, actor);
return true;
end
return true;
end
-return _M;
+return {
+ new = new;
+};