Software / code / prosody
Comparison
plugins/mod_storage_memory.lua @ 9839:9007ae90aeb1
Merge 0.11->trunk
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 02 Mar 2019 22:26:30 +0100 |
| parent | 9834:a657df70cc31 |
| parent | 9838:40ed04014b97 |
| child | 9882:18f025b3987d |
comparison
equal
deleted
inserted
replaced
| 9837:789395f027f1 | 9839:9007ae90aeb1 |
|---|---|
| 1 local serialize = require "util.serialization".serialize; | 1 local serialize = require "util.serialization".serialize; |
| 2 local array = require "util.array"; | 2 local array = require "util.array"; |
| 3 local envload = require "util.envload".envload; | 3 local envload = require "util.envload".envload; |
| 4 local st = require "util.stanza"; | 4 local st = require "util.stanza"; |
| 5 local is_stanza = st.is_stanza or function (s) return getmetatable(s) == st.stanza_mt end | 5 local is_stanza = st.is_stanza or function (s) return getmetatable(s) == st.stanza_mt end |
| 6 local new_id = require "util.id".medium; | |
| 6 | 7 |
| 7 local auto_purge_enabled = module:get_option_boolean("storage_memory_temporary", false); | 8 local auto_purge_enabled = module:get_option_boolean("storage_memory_temporary", false); |
| 8 local auto_purge_stores = module:get_option_set("storage_memory_temporary_stores", {}); | 9 local auto_purge_stores = module:get_option_set("storage_memory_temporary_stores", {}); |
| 9 | 10 |
| 10 local memory = setmetatable({}, { | 11 local memory = setmetatable({}, { |
| 62 a = {}; | 63 a = {}; |
| 63 self.store[username or NULL] = a; | 64 self.store[username or NULL] = a; |
| 64 end | 65 end |
| 65 local v = { key = key, when = when, with = with, value = value }; | 66 local v = { key = key, when = when, with = with, value = value }; |
| 66 if not key then | 67 if not key then |
| 67 key = tostring(a):match"%x+$"..tostring(v):match"%x+$"; | 68 key = new_id(); |
| 68 v.key = key; | 69 v.key = key; |
| 69 end | 70 end |
| 70 if a[key] then | 71 if a[key] then |
| 71 table.remove(a, a[key]); | 72 table.remove(a, a[key]); |
| 72 end | 73 end |