class Fluent::PluginHelper::Storage::PersistentWrapper
def autosave
def autosave false end
def delete(key)
def delete(key) @monitor.synchronize do @storage.load val = @storage.delete(key) @storage.save val end end
def fetch(key, defval)
def fetch(key, defval) @monitor.synchronize do @storage.load @storage.fetch(key, defval) end end
def get(key)
def get(key) @monitor.synchronize do @storage.load @storage.get(key) end end
def implementation
def implementation @storage end
def initialize(storage)
def initialize(storage) @storage = storage @monitor = Monitor.new end
def load
def load @monitor.synchronize do @storage.load end end
def method_missing(name, *args)
def method_missing(name, *args) @monitor.synchronize{ @storage.__send__(name, *args) } end
def persistent
def persistent true end
def persistent_always?
def persistent_always? true end
def put(key, value)
def put(key, value) @monitor.synchronize do @storage.load @storage.put(key, value) @storage.save value end end
def save
def save @monitor.synchronize do @storage.save end end
def synchronized?
def synchronized? true end
def update(key, &block)
def update(key, &block) @monitor.synchronize do @storage.load v = block.call(@storage.get(key)) @storage.put(key, v) @storage.save v end end