From 0167cddc586efcdc9d6b2f4d6a0dd208d92c809a Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Wed, 11 Sep 2019 15:10:44 +0100 Subject: [PATCH] Update to new preserves API --- imperative/distributed/wire-protocol.rkt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/imperative/distributed/wire-protocol.rkt b/imperative/distributed/wire-protocol.rkt index bae7657..3929c38 100644 --- a/imperative/distributed/wire-protocol.rkt +++ b/imperative/distributed/wire-protocol.rkt @@ -5,6 +5,7 @@ (require (prefix-in preserves: preserves)) (require bitsyntax) (require (only-in net/rfc6455 ws-idle-timeout)) +(require (only-in racket/list index-of)) ;; Enrolment (message-struct Connect (scope)) ;; Client --> Server @@ -34,14 +35,16 @@ ;; establish `observe`s, i.e. subscriptions. (define (decode bs) - (parameterize ((preserves:short-form-labels '#(discard capture observe))) + (parameterize ((preserves:current-placeholder->value + (lambda (v) (vector-ref '#(discard capture observe) v)))) (bit-string-case bs #:on-short (lambda (fail) (values #f bs)) ([ (v :: (preserves:wire-value)) (rest :: binary) ] (values v (bit-string->bytes rest))) (else (error 'decode "Invalid wire message"))))) (define (encode v) - (parameterize ((preserves:short-form-labels '#(discard capture observe))) + (parameterize ((preserves:current-value->placeholder + (lambda (v) (index-of '(discard capture observe) v eq?)))) (preserves:encode v))) (define (ping-interval)