2012-01-11 22:47:05 +00:00
|
|
|
#lang racket/base
|
|
|
|
|
|
|
|
(require racket/match)
|
|
|
|
(require "os-userland-stdlib.rkt")
|
|
|
|
(require "os-udp.rkt")
|
|
|
|
|
2012-01-16 22:38:00 +00:00
|
|
|
(ground-vm/stdlib
|
|
|
|
(userland
|
|
|
|
(lambda ()
|
|
|
|
(spawn display-driver)
|
|
|
|
(spawn read-line-driver)
|
|
|
|
(spawn udp-driver)
|
|
|
|
(poll)
|
|
|
|
(define s (rpc `(udp new 5555 65536)))
|
|
|
|
(let loop ()
|
|
|
|
(wait (message-handlers
|
|
|
|
[(udp-packet source (and sink (== s)) body)
|
|
|
|
(write `(udp (source ,source) (sink ,sink))) (newline)
|
|
|
|
(send (udp-packet sink source body))
|
|
|
|
(loop)]))))))
|