21 lines
577 B
Racket
21 lines
577 B
Racket
#lang racket/base
|
|
;; Trivial example program demonstrating os-udp.rkt working with os-userland.
|
|
|
|
(require racket/match)
|
|
(require "os-userland-stdlib.rkt")
|
|
(require "os-udp.rkt")
|
|
|
|
(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)])))))) |