class Fluent::PluginHelper::Storage::PersistentWrapper
Public Class Methods
new(storage)
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 188 def initialize(storage) @storage = storage @monitor = Monitor.new end
Public Instance Methods
autosave()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 205 def autosave false end
delete(key)
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 252 def delete(key) @monitor.synchronize do @storage.load val = @storage.delete(key) @storage.save val end end
fetch(key, defval)
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 236 def fetch(key, defval) @monitor.synchronize do @storage.load @storage.fetch(key, defval) end end
get(key)
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 229 def get(key) @monitor.synchronize do @storage.load @storage.get(key) end end
implementation()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 213 def implementation @storage end
load()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 217 def load @monitor.synchronize do @storage.load end end
persistent()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 201 def persistent true end
persistent_always?()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 197 def persistent_always? true end
put(key, value)
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 243 def put(key, value) @monitor.synchronize do @storage.load @storage.put(key, value) @storage.save value end end
save()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 223 def save @monitor.synchronize do @storage.save end end
synchronized?()
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 209 def synchronized? true end
update(key, &block)
click to toggle source
# File lib/fluent/plugin_helper/storage.rb, line 261 def update(key, &block) @monitor.synchronize do @storage.load v = block.call(@storage.get(key)) @storage.put(key, v) @storage.save v end end