From 3db6177ce98beed84082bafe3fa0be85ea657718 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 17 May 2016 00:15:52 -0400 Subject: [PATCH] Second listener, this one using during --- .../examples/actor/example-partial-retraction.rkt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/racket/syndicate/examples/actor/example-partial-retraction.rkt b/racket/syndicate/examples/actor/example-partial-retraction.rkt index 68ad166..ad0895a 100644 --- a/racket/syndicate/examples/actor/example-partial-retraction.rkt +++ b/racket/syndicate/examples/actor/example-partial-retraction.rkt @@ -18,12 +18,22 @@ (log-info "del binding: ~v -> ~v" key value))) (log-info "key ~v retracted" key)))) +(actor (forever + (assert (ready 'other-listener)) + (during (entry $key _) + #:init [(log-info "(other-listener) key ~v asserted" key)] + #:done [(log-info "(other-listener) key ~v retracted" key)] + (during (entry key $value) + #:init [(log-info "(other-listener) ~v ---> ~v" key value)] + #:done [(log-info "(other-listener) ~v -/-> ~v" key value)])))) + (define (pause) (log-info "pause") (until (asserted (ready 'pause)) (assert (ready 'pause)))) (actor (until (asserted (ready 'listener))) + (until (asserted (ready 'other-listener))) (assert! (entry 'a 1)) (assert! (entry 'a 2)) (assert! (entry 'b 3))