util/pubsub.lua
changeset 12157 26af75c20163
parent 11858 b605cbd5f13b
child 12979 d10957394a3c
equal deleted inserted replaced
12156:0939675955f1 12157:26af75c20163
     3 local errors = require "util.error";
     3 local errors = require "util.error";
     4 
     4 
     5 local service_mt = {};
     5 local service_mt = {};
     6 
     6 
     7 local default_config = {
     7 local default_config = {
       
     8 	max_items = 256;
     8 	itemstore = function (config, _) return cache.new(config["max_items"]) end;
     9 	itemstore = function (config, _) return cache.new(config["max_items"]) end;
     9 	broadcaster = function () end;
    10 	broadcaster = function () end;
    10 	subscriber_filter = function (subs) return subs end;
    11 	subscriber_filter = function (subs) return subs end;
    11 	itemcheck = function () return true; end;
    12 	itemcheck = function () return true; end;
    12 	get_affiliation = function () end;
    13 	get_affiliation = function () end;
   839 			end
   840 			end
   840 			self.data[node] = nil;
   841 			self.data[node] = nil;
   841 		end
   842 		end
   842 	elseif old_config["max_items"] ~= node_obj.config["max_items"] then
   843 	elseif old_config["max_items"] ~= node_obj.config["max_items"] then
   843 		if self.data[node] then
   844 		if self.data[node] then
   844 			self.data[node]:resize(self.nodes[node].config["max_items"]);
   845 			local max_items = self.nodes[node].config["max_items"];
       
   846 			if max_items == "max" then
       
   847 				max_items = self.config.max_items;
       
   848 			end
       
   849 			self.data[node]:resize(max_items);
   845 		end
   850 		end
   846 	end
   851 	end
   847 
   852 
   848 	return true;
   853 	return true;
   849 end
   854 end