This commit is contained in:
Tony Garnock-Jones 2012-02-17 16:09:54 -05:00
parent 87943e435b
commit d2af6bf52e
1 changed files with 18 additions and 18 deletions

View File

@ -40,29 +40,29 @@
(define boot-server
(os-big-bang 'no-state
(send-meta-message `(request create-server-socket (udp new ,port-number 512)))
(subscribe/fresh wait-id
(meta-message-handlers w
[`(reply create-server-socket ,s)
(transition w
(unsubscribe wait-id)
(spawn (dns-read-driver s))
(spawn (dns-write-driver s))
(subscribe 'packet-handler (packet-handler s)))]))))
(send-meta-message `(request create-server-socket (udp new ,port-number 512)))
(subscribe/fresh wait-id
(meta-message-handlers w
[`(reply create-server-socket ,s)
(transition w
(unsubscribe wait-id)
(spawn (dns-read-driver s))
(spawn (dns-write-driver s))
(subscribe 'packet-handler (packet-handler s)))]))))
(define (packet-handler s)
(message-handlers old-state
[(? bad-dns-packet? p)
(pretty-print p) ;; TODO: perhaps use metalevel events? perhaps don't bother though
old-state]
[(? dns-request? r)
(transition old-state
(map send-message
(handle-request soa-rr zone r)))]))
[(? bad-dns-packet? p)
(pretty-print p) ;; TODO: perhaps use metalevel events? perhaps don't bother though
old-state]
[(? dns-request? r)
(transition old-state
(map send-message
(handle-request soa-rr zone r)))]))
(ground-vm (os-big-bang (void)
(spawn udp-driver)
(spawn (nested-vm boot-server)))))
(spawn udp-driver)
(spawn (nested-vm boot-server)))))
(define (handle-request soa-rr zone request)
(match-define (dns-request request-message request-source request-sink) request)