Placeholders no longer available in preserves

This commit is contained in:
Tony Garnock-Jones 2020-06-10 12:06:10 +02:00
parent 2a59b576dc
commit 55f01cea3f
1 changed files with 5 additions and 9 deletions

View File

@ -35,17 +35,13 @@
;; establish `observe`s, i.e. subscriptions.
(define (decode bs)
(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")))))
(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:current-value->placeholder
(lambda (v) (index-of '(discard capture observe) v eq?))))
(preserves:encode v)))
(preserves:encode v))
(define (ping-interval)
(* 1000 (min 60 ;; reasonable default?