aboutsummaryrefslogtreecommitdiff
path: root/nar-herder/cached-compression.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2023-05-20 12:09:56 +0100
committerChristopher Baines <mail@cbaines.net>2023-05-20 12:09:56 +0100
commit5a647ac7b9ed8003957a5e45b31e5e5d8f40772e (patch)
treecf2dbf73a6ced48f15942b53800685eec033c1c5 /nar-herder/cached-compression.scm
parent23352ff50efa03d545047e79d5333795977e02db (diff)
downloadnar-herder-5a647ac7b9ed8003957a5e45b31e5e5d8f40772e.tar
nar-herder-5a647ac7b9ed8003957a5e45b31e5e5d8f40772e.tar.gz
Tweak code for removing cached nars
Mostly neatness changes but also change > to >= to handle the case where all cached nars are being removed.
Diffstat (limited to 'nar-herder/cached-compression.scm')
-rw-r--r--nar-herder/cached-compression.scm35
1 files changed, 18 insertions, 17 deletions
diff --git a/nar-herder/cached-compression.scm b/nar-herder/cached-compression.scm
index cd334af..91f7291 100644
--- a/nar-herder/cached-compression.scm
+++ b/nar-herder/cached-compression.scm
@@ -184,23 +184,24 @@
(match
(database-fold-cached-narinfo-files
database
- (match-lambda*
- ((details (finished? bytes result))
- (if finished?
- (list finished? bytes result)
- (if (eq? (assq-ref details 'compression)
- compression)
- (let ((new-bytes
- (+ bytes
- (assq-ref details 'size))))
- (cons
- ;; finished if enough bytes are going
- ;; to be removed
- (> new-bytes bytes-to-remove)
- (list new-bytes (cons details result))))
- (list #f bytes result)))))
- '(#f 0 ()))
- ((#t bytes-for-removal files-to-remove-details)
+ (lambda (details result)
+ (match result
+ (#(finished? bytes files-to-remove)
+ (if finished?
+ result
+ (if (eq? (assq-ref details 'compression)
+ compression)
+ (let ((new-bytes
+ (+ bytes
+ (assq-ref details 'size))))
+ ;; finished if enough bytes are going
+ ;; to be removed
+ (vector (>= new-bytes bytes-to-remove)
+ new-bytes
+ (cons details files-to-remove)))
+ result)))))
+ #(#f 0 ()))
+ (#(#t bytes-for-removal files-to-remove-details)
(log-msg 'DEBUG "removing " (length files-to-remove-details)
" " compression " compressed nars from the cache")