Run packet writer in a turn to add proper error handling
This commit is contained in:
parent
c40ba51a29
commit
fff4b05036
|
@ -189,16 +189,18 @@
|
||||||
(when (null? (tunnel-relay-pending-turn-rev tr))
|
(when (null? (tunnel-relay-pending-turn-rev tr))
|
||||||
(queue-task! (actor-engine (facet-actor (tunnel-relay-facet tr)))
|
(queue-task! (actor-engine (facet-actor (tunnel-relay-facet tr)))
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(define pending (Turn (reverse (tunnel-relay-pending-turn-rev tr))))
|
(turn! (tunnel-relay-facet tr)
|
||||||
(set-tunnel-relay-pending-turn-rev! tr '())
|
(action ()
|
||||||
(log-info "OUT (parsed): ~v" pending)
|
(define pending (Turn (reverse (tunnel-relay-pending-turn-rev tr))))
|
||||||
(log-info "OUT (raw): ~v" (->preserve pending))
|
(set-tunnel-relay-pending-turn-rev! tr '())
|
||||||
(parse-Turn! (->preserve pending))
|
(log-info "OUT (parsed): ~v" pending)
|
||||||
((tunnel-relay-packet-writer tr)
|
(log-info "OUT (raw): ~v" (->preserve pending))
|
||||||
(preserve->bytes (->preserve pending)
|
(parse-Turn! (->preserve pending))
|
||||||
#:canonicalizing? #t
|
((tunnel-relay-packet-writer tr)
|
||||||
#:write-annotations? #f
|
(preserve->bytes (->preserve pending)
|
||||||
#:encode-embedded encode-embedded:protocol)))))
|
#:canonicalizing? #t
|
||||||
|
#:write-annotations? #f
|
||||||
|
#:encode-embedded encode-embedded:protocol)))))))
|
||||||
(set-tunnel-relay-pending-turn-rev! tr (cons (TurnEvent (Oid oid) event)
|
(set-tunnel-relay-pending-turn-rev! tr (cons (TurnEvent (Oid oid) event)
|
||||||
(tunnel-relay-pending-turn-rev tr))))
|
(tunnel-relay-pending-turn-rev tr))))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue