lib/aerospike/utils/epoc.rb in aerospike-0.1.3 vs lib/aerospike/utils/epoc.rb in aerospike-0.1.5

- old
+ new

@@ -20,9 +20,16 @@ CITRUSLEAF_EPOCH = 1262304000 # Converts an Expiration time to TTL in seconds def self.TTL(secs_from_citrus_leaf_epoc) - CITRUSLEAF_EPOCH+secs_from_citrus_leaf_epoc - Time.now.to_i + if secs_from_citrus_leaf_epoc == 0 + 0xFFFFFFFF + else + now = Time.now.to_i - CITRUSLEAF_EPOCH + # Record was not expired at server but if it looks expired at client + # because of delay or clock differences, present it as not-expired. + secs_from_citrus_leaf_epoc > now ? secs_from_citrus_leaf_epoc - now : 1 + end end end # module