From f537b902114e5c8d7ee00c924e91808098b2307a Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sat, 22 May 2021 15:02:31 +0200 Subject: Add clock expiration times --- guile/starlet/clock.scm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'guile/starlet/clock.scm') diff --git a/guile/starlet/clock.scm b/guile/starlet/clock.scm index 29782a0..6c11936 100644 --- a/guile/starlet/clock.scm +++ b/guile/starlet/clock.scm @@ -26,6 +26,7 @@ stop-clock! start-clock! reverse-clock! + clock-expired? make-delayed-clock @@ -65,14 +66,26 @@ #:getter clock-stopped? #:setter set-clock-stopped!) + (expiration-time + #:init-value #f + #:init-keyword #:expiration-time + #:getter expiration-time) + (reversed #:init-value #f #:getter clock-reversed? #:setter set-clock-reversed!)) -(define (make-clock) - (make )) +(define* (make-clock + #:key (expiration-time #f)) + (make + #:expiration-time expiration-time)) + + +(define (clock-expired? clock) + (> (elapsed-time clock) + (expiration-time clock))) (define-method (elapsed-time (clock )) -- cgit v1.2.3