diff options
author | Matthew Wild <mwild1@gmail.com> | 2018-02-01 15:09:04 +0000 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2018-02-01 15:09:04 +0000 |
commit | 2881279d6b4ecd3af2afb62e31bb36c8ab54a9e0 (patch) | |
tree | 82c30289103e1d2379273074248905868ab64a90 | |
parent | 4e41dbdacb45ce1a8862e644e587095ce4f5c409 (diff) | |
download | prosody-2881279d6b4ecd3af2afb62e31bb36c8ab54a9e0.tar.gz prosody-2881279d6b4ecd3af2afb62e31bb36c8ab54a9e0.zip |
util.pubsub: For clarity, split config tables from their metatables
-rw-r--r-- | util/pubsub.lua | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/util/pubsub.lua b/util/pubsub.lua index 607ec49d..f606bdd8 100644 --- a/util/pubsub.lua +++ b/util/pubsub.lua @@ -4,22 +4,25 @@ local cache = require "util.cache"; local service = {}; local service_mt = { __index = service }; -local default_config = { __index = { +local default_config = { itemstore = function (config, _) return cache.new(config["max_items"]) end; broadcaster = function () end; get_affiliation = function () end; capabilities = {}; -} }; -local default_node_config = { __index = { +}; +local default_config_mt = { __index = default_config }; + +local default_node_config = { ["persist_items"] = false; ["max_items"] = 20; -} }; +}; +local default_node_config_mt = { __index = default_node_config }; local function new(config) config = config or {}; return setmetatable({ - config = setmetatable(config, default_config); - node_defaults = setmetatable(config.node_defaults or {}, default_node_config); + config = setmetatable(config, default_config_mt); + node_defaults = setmetatable(config.node_defaults or {}, default_node_config_mt); affiliations = {}; subscriptions = {}; nodes = {}; |