lib/memcache/segmented_server.rb in memcache-1.0.1 vs lib/memcache/segmented_server.rb in memcache-1.1.0

- old
+ new

@@ -3,12 +3,12 @@ class Memcache class SegmentedServer < Server MAX_SIZE = 1000000 # bytes PARTIAL_VALUE = 0x40000000 - def get(keys, opts = {}) - return get([keys], opts)[keys.to_s] unless keys.kind_of?(Array) + def get(keys, cas = nil) + return get([keys], cas)[keys.to_s] unless keys.kind_of?(Array) return {} if keys.empty? results = super keys = {} keys_to_fetch = [] @@ -36,12 +36,12 @@ end if value value.memcache_cas = results[key].memcache_cas value.memcache_flags = results[key].memcache_flags ^ PARTIAL_VALUE - results[key] = value end + results[key] = value end results end def set(key, value, expiry = 0, flags = 0) @@ -84,10 +84,10 @@ def store_segments(key, value, expiry = 0, flags = 0) if value and value.size > MAX_SIZE master_key, parts = segment(key, value) parts.each do |hash, data| - set(hash, data, expiry) + set(hash, data, expiry + 1) # We want the segments to expire slightly after the master key. end [master_key, flags | PARTIAL_VALUE] else [value, flags] end