#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)]))))))