#lang racket (require "os-big-bang.rkt") (require "os-udp.rkt") (define counter (os-big-bang 0 (send-message `(request create-echo-socket (udp new 5678 65536))) (subscribe/fresh sub (message-handlers current-counter [`(reply create-echo-socket ,sname) (transition current-counter (unsubscribe sub) (subscribe 'packet-handler (message-handlers current-counter [(udp-packet source (== sname) #"get") (transition (+ current-counter 1) (send-message (udp-packet sname source (integer->integer-bytes current-counter 8 #f))))])))])))) (ground-vm (os-big-bang 'none (spawn udp-driver) (spawn counter)))