Mercurial > prosody-hg
comparison util/pubsub.lua @ 6791:e813e8cf6046
Merge 0.10->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Thu, 20 Aug 2015 13:05:22 +0200 |
| parents | ecd8d6437053 5de6b93d0190 |
| children | bd854e762875 |
comparison
equal
deleted
inserted
replaced
| 6776:4412a2307c89 | 6791:e813e8cf6046 |
|---|---|
| 1 local events = require "util.events"; | 1 local events = require "util.events"; |
| 2 local t_remove = table.remove; | 2 local t_remove = table.remove; |
| 3 | |
| 4 module("pubsub", package.seeall); | |
| 5 | 3 |
| 6 local service = {}; | 4 local service = {}; |
| 7 local service_mt = { __index = service }; | 5 local service_mt = { __index = service }; |
| 8 | 6 |
| 9 local default_config = { __index = { | 7 local default_config = { __index = { |
| 13 } }; | 11 } }; |
| 14 local default_node_config = { __index = { | 12 local default_node_config = { __index = { |
| 15 ["pubsub#max_items"] = "20"; | 13 ["pubsub#max_items"] = "20"; |
| 16 } }; | 14 } }; |
| 17 | 15 |
| 18 function new(config) | 16 local function new(config) |
| 19 config = config or {}; | 17 config = config or {}; |
| 20 return setmetatable({ | 18 return setmetatable({ |
| 21 config = setmetatable(config, default_config); | 19 config = setmetatable(config, default_config); |
| 22 node_defaults = setmetatable(config.node_defaults or {}, default_node_config); | 20 node_defaults = setmetatable(config.node_defaults or {}, default_node_config); |
| 23 affiliations = {}; | 21 affiliations = {}; |
| 440 trim_items(self.data[node], node_obj.config["pubsub#max_items"]); | 438 trim_items(self.data[node], node_obj.config["pubsub#max_items"]); |
| 441 | 439 |
| 442 return true; | 440 return true; |
| 443 end | 441 end |
| 444 | 442 |
| 445 return _M; | 443 return { |
| 444 new = new; | |
| 445 }; |
