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))
|
||||
(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))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue