- print_msg_ok("status_bar", make_status_bar())
-}
-
-# -----------------------------------------------------------------------------
-# Cache
-# -----------------------------------------------------------------------------
-
-function cache_update( src, key, val, len_line, len_head, len_val, time) {
- src = $2
- key = $3
- # Not just using $4 for val - because an unstructured value (like name of a
- # song) might contain a character identical to FS
- len_line = length($0)
- len_head = length($1 FS $2 FS $3 FS)
- len_val = len_line - len_head
- val = substr($0, len_head + 1, len_val)
- val = cache_maybe_total_to_diff(src, key, val)
- val = cache_maybe_scale(src, key, val)
- _cache[src, key] = val
- time = cache_get_time()
- _cache_mtime[src, key] = time
- if (time % GC_Interval == 0) {
- cache_gc()
- }
-}
-
-function cache_get(result, src, key, ttl, time, age, is_expired) {
- time = cache_get_time()
- _cache_atime[src, key] = time
- age = time - _cache_mtime[src, key]
- result["is_expired"] = ttl && age > ttl # ttl = 0 => forever
- result["value"] = _cache[src, key]
-}
-
-function cache_res_fmt_or_def(result, format, default) {
- return result["is_expired"] ? default : sprintf(format, result["value"])
-}
-
-function cache_get_fmt_def(src, key, ttl, format, default, result) {
- default = default ? default : "--"
- cache_get(result, src, key, ttl)
- return cache_res_fmt_or_def(result, format, default)
-}
-
-function cache_get_time( src, key, time) {
- src = "khatus_sensor_datetime"
- key = "epoch"
- time = _cache[src, key]
- _cache_atime[src, key] = time
- return time