comparison mod_storage_memory/mod_storage_memory.lua @ 1607:8b997d9cf09e

mod_storage_memory: Add support for map stores
author Kim Alvefur <zash@zash.se>
date Thu, 12 Feb 2015 15:13:50 +0100
parents fa7e402fcdc1
children 59fdf4f12343
comparison
equal deleted inserted replaced
1606:2c8b985ebde5 1607:8b997d9cf09e
17 function keyval_store:set(username, data) 17 function keyval_store:set(username, data)
18 self.store[username] = data; 18 self.store[username] = data;
19 return true; 19 return true;
20 end 20 end
21 21
22 local map_store = {};
23 map_store.__index = map_store;
24
25 function map_store:get(username, key)
26 local userstore = self.store[username];
27 if type(userstore) == "table" then
28 return userstore[key];
29 end
30 end
31
32 function map_store:set(username, key, data)
33 local userstore = self.store[username];
34 if userstore == nil then
35 userstore = {};
36 self.store[username] = userstore;
37 end
38 userstore[key] = data;
39 return true;
40 end
41
22 local stores = { 42 local stores = {
23 keyval = keyval_store; 43 keyval = keyval_store;
44 map = map_store;
24 } 45 }
25 46
26 local driver = {}; 47 local driver = {};
27 48
28 function driver:open(store, typ) 49 function driver:open(store, typ)