diff --git a/network-query.rkt b/network-query.rkt index db2a7a7..3fcb1f0 100644 --- a/network-query.rkt +++ b/network-query.rkt @@ -253,7 +253,7 @@ [(answered-question (== subq) ans) (define ips (map make-dns-address (set->list (extract-addresses current-name ans)))) - (extend-transition + (sequence-actions (try-next-server (struct-copy network-query-state w [known-addresses (hash-set known-addresses current-name @@ -267,11 +267,11 @@ (role rpc-id (topic-subscriber `(reply ,rpc-id ,(wild))) #:state w [`(reply ,(== rpc-id) ,id) - (extend-transition (send-request (struct-copy network-query-state w - [remaining-addresses remaining-ips]) - id - timeout - current-ip) + (sequence-actions (send-request (struct-copy network-query-state w + [remaining-addresses remaining-ips]) + id + timeout + current-ip) (delete-role rpc-id))]))])) (define (on-answer w ans server-ip) @@ -318,7 +318,7 @@ q query-id zone-origin server-ip timeout)) - (extend-transition (try-next-server w) + (sequence-actions (try-next-server w) (delete-role subscription-id) (send-message (list 'release-query-id query-id)))] [(dns-reply reply-message source (== s)) @@ -333,8 +333,8 @@ (dns-message-additional reply-message))) (if (not (= (dns-message-id reply-message) (dns-message-id query))) w - (extend-transition (on-answer w - (filter-dns-reply q reply-message zone-origin) - server-ip) + (sequence-actions (on-answer w + (filter-dns-reply q reply-message zone-origin) + server-ip) (delete-role subscription-id) (send-message (list 'release-query-id query-id))))]))) diff --git a/proxy.rkt b/proxy.rkt index 9a816df..bb001e8 100644 --- a/proxy.rkt +++ b/proxy.rkt @@ -162,7 +162,7 @@ (match-define (cons name ttl) timerspec) (send-message (set-timer (list 'check-dns-expiry name) (* ttl 1000) 'relative))))) (define-values (cleaned-seed-zone initial-timers) (zone-expire seed-zone)) - (extend-transition (transition-and-set-timers cleaned-seed-zone initial-timers) + (sequence-actions (transition-and-set-timers cleaned-seed-zone initial-timers) ;; TODO: consider deduping questions here too? (role 'debug-dumper (topic-subscriber `(debug-dump)) #:state zone @@ -271,7 +271,7 @@ k (hash-ref new-zone k 'missing)))) (log-debug "=-=-=-=-=-=")) (define nameserver-names (for/set ([rr nameserver-rrs]) (rr-rdata rr))) - (extend-transition + (sequence-actions (retry-question (struct-copy question-state w [nameservers-tried (set-union nameservers-tried nameserver-names)]