#
# $B%-%c%C%7%e%G!<%?4IM}(B
#
# $Id: cache.rb,v 1.3 2003/01/31 21:50:34 elca Exp $
# $B%-%c%C%7%e$NBg$-$5@)8B(B
# $B%-%c%C%7%e$O(B "timeout" $B$NMWAG$r;}$C$F$$$k;v(B
def cache_reduction(cache, overflow_size, logstr)
h = Hash.new
cache.each_key {
|key|
h[cache[key]["timeout"]] = key
}
if h.size > overflow_size
del_h = h.keys.sort[0, h.size - overflow_size] # $B8E$$=g$KJB$Y$k(B
del_h.each { |i|
ML.log(logstr + h[i].dump + "=>" + cache[key].to_s.dump)
cache.delete(h[i])
}
end
end
# $B%-%c%C%7%e$N;~4V@)8B(B
# $B%-%c%C%7%e$O(B "timeout" $B$NMWAG$r;}$C$F$$$k;v(B
def cache_timeout(cache, logstr)
cache.each_key {
|key|
if cache[key]["timeout"] < Time.now.to_i
ML.log(logstr + key.dump + "=>" + cache[key].to_s.dump)
cache.delete(key)
end
}
end
# end
syntax highlighted by Code2HTML, v. 0.9.1