Method: Idempo::ResponseStore#save

Defined in:
lib/idempo/response_store.rb

#save(key, value, expire_in) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/idempo/response_store.rb', line 10

def save(key, value, expire_in)
  prune
  exp = expire_in + Process.clock_gettime(Process::CLOCK_MONOTONIC)
  res = StoredResponse.new(key, exp, value)
  expiry_handle = ExpiryHandle.new(key, exp)
  binary_insert(@expiries, expiry_handle, &:expire_at)
  @values[key] = res
end