Migrate fetchurl.rkt to syndicate/actor
This commit is contained in:
parent
b444bccb80
commit
ec2996e931
|
@ -1,22 +1,18 @@
|
||||||
#lang syndicate/monolithic
|
#lang syndicate/actor
|
||||||
|
|
||||||
(require syndicate/drivers/timer)
|
|
||||||
(require "demo-config.rkt")
|
|
||||||
(require "ethernet.rkt")
|
|
||||||
(require "arp.rkt")
|
|
||||||
(require "ip.rkt")
|
(require "ip.rkt")
|
||||||
(require "tcp.rkt")
|
(require "tcp.rkt")
|
||||||
(require "udp.rkt")
|
(require "udp.rkt")
|
||||||
|
|
||||||
;;(log-events-and-actions? #t)
|
;;(log-events-and-actions? #t)
|
||||||
|
|
||||||
(spawn-timer-driver)
|
(require/activate syndicate/drivers/timer)
|
||||||
(spawn-ethernet-driver)
|
(require/activate "ethernet.rkt")
|
||||||
(spawn-arp-driver)
|
(require/activate "arp.rkt")
|
||||||
(spawn-ip-driver)
|
(spawn-ip-driver)
|
||||||
(spawn-tcp-driver)
|
(spawn-tcp-driver)
|
||||||
(spawn-udp-driver)
|
(spawn-udp-driver)
|
||||||
(spawn-demo-config)
|
(require/activate "demo-config.rkt")
|
||||||
|
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
@ -24,25 +20,14 @@
|
||||||
(define local-handle (tcp-handle 'httpclient))
|
(define local-handle (tcp-handle 'httpclient))
|
||||||
(define remote-handle (tcp-address "129.10.115.92" 80))
|
(define remote-handle (tcp-address "129.10.115.92" 80))
|
||||||
|
|
||||||
(spawn (lambda (e seen-peer?)
|
(actor (react
|
||||||
(match e
|
(assert (advertise (tcp-channel local-handle remote-handle _)))
|
||||||
[(scn g)
|
(on (asserted (advertise (tcp-channel remote-handle local-handle _)))
|
||||||
(define peer-present? (trie-non-empty? g))
|
(send! (tcp-channel local-handle
|
||||||
(if (and (not peer-present?) seen-peer?)
|
remote-handle
|
||||||
(begin (printf "URL fetcher exiting.\n")
|
#"GET / HTTP/1.0\r\nHost: stockholm.ccs.neu.edu\r\n\r\n")))
|
||||||
(quit))
|
(stop-when (retracted (advertise (tcp-channel remote-handle local-handle _)))
|
||||||
(transition (or seen-peer? peer-present?)
|
(printf "URL fetcher exiting.\n"))
|
||||||
(message
|
(on (message (tcp-channel remote-handle local-handle $bs))
|
||||||
(tcp-channel
|
|
||||||
local-handle
|
|
||||||
remote-handle
|
|
||||||
#"GET / HTTP/1.0\r\nHost: stockholm.ccs.neu.edu\r\n\r\n"))))]
|
|
||||||
[(message (tcp-channel _ _ bs))
|
|
||||||
(printf "----------------------------------------\n~a\n" bs)
|
(printf "----------------------------------------\n~a\n" bs)
|
||||||
(printf "----------------------------------------\n")
|
(printf "----------------------------------------\n")))))
|
||||||
#f]
|
|
||||||
[_ #f]))
|
|
||||||
#f
|
|
||||||
(scn/union (advertisement (tcp-channel local-handle remote-handle ?))
|
|
||||||
(subscription (tcp-channel remote-handle local-handle ?))
|
|
||||||
(subscription (advertise (tcp-channel remote-handle local-handle ?))))))
|
|
||||||
|
|
Loading…
Reference in New Issue