1 ! Copyright (C) 2008 Slava Pestov.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors fry kernel models timers ;
6 TUPLE: delay < model model timeout timer ;
8 : update-delay-model ( delay -- )
9 [ model>> value>> ] keep set-model ;
11 : <delay> ( model timeout -- delay )
13 dup '[ _ update-delay-model ] pick f <timer> >>timer
16 [ add-dependency ] keep ;
18 M: delay model-changed
19 nip timer>> restart-timer ;
21 M: delay model-activated update-delay-model ;