diff --git a/syndicate/relay.rkt b/syndicate/relay.rkt index 55b07cf..272be9a 100644 --- a/syndicate/relay.rkt +++ b/syndicate/relay.rkt @@ -189,16 +189,18 @@ (when (null? (tunnel-relay-pending-turn-rev tr)) (queue-task! (actor-engine (facet-actor (tunnel-relay-facet tr))) (lambda () - (define pending (Turn (reverse (tunnel-relay-pending-turn-rev tr)))) - (set-tunnel-relay-pending-turn-rev! tr '()) - (log-info "OUT (parsed): ~v" pending) - (log-info "OUT (raw): ~v" (->preserve pending)) - (parse-Turn! (->preserve pending)) - ((tunnel-relay-packet-writer tr) - (preserve->bytes (->preserve pending) - #:canonicalizing? #t - #:write-annotations? #f - #:encode-embedded encode-embedded:protocol))))) + (turn! (tunnel-relay-facet tr) + (action () + (define pending (Turn (reverse (tunnel-relay-pending-turn-rev tr)))) + (set-tunnel-relay-pending-turn-rev! tr '()) + (log-info "OUT (parsed): ~v" pending) + (log-info "OUT (raw): ~v" (->preserve pending)) + (parse-Turn! (->preserve pending)) + ((tunnel-relay-packet-writer tr) + (preserve->bytes (->preserve pending) + #:canonicalizing? #t + #:write-annotations? #f + #:encode-embedded encode-embedded:protocol))))))) (set-tunnel-relay-pending-turn-rev! tr (cons (TurnEvent (Oid oid) event) (tunnel-relay-pending-turn-rev tr))))