From 7d2e832a978d3d668c128f1c09575c6c6bb7702c Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Fri, 26 Apr 2013 17:43:25 -0400 Subject: [PATCH] Plain-racket echo variation. --- marketplace/examples/echo-plain.rkt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 marketplace/examples/echo-plain.rkt diff --git a/marketplace/examples/echo-plain.rkt b/marketplace/examples/echo-plain.rkt new file mode 100644 index 0000000..4100341 --- /dev/null +++ b/marketplace/examples/echo-plain.rkt @@ -0,0 +1,18 @@ +#lang racket/base +;; Plain Racket version, using (require) instead of #lang marketplace. + +(require marketplace/sugar-untyped) +(require marketplace/drivers/tcp-bare) + +(define (echoer from to) + (transition/no-state + (endpoint + #:subscriber (tcp-channel from to ?) + #:on-absence (quit) + [(tcp-channel _ _ data) + (send-message (tcp-channel to from data))]))) + +(ground-vm tcp + (endpoint #:subscriber (tcp-channel ? (tcp-listener 5999) ?) + #:conversation (tcp-channel from to _) + #:on-presence (spawn #:child (echoer from to))))