(use bokbok) (use matchable) ;; Called if server sends us a callback request (define (request-handler con request) (match request (("callback" num) (printf "Callback received: ~s\n" num) '()) (else (error "Unrecognised callback")))) ;; Called if server closes the connection (define (close-handler con) (void)) (define con (open-connection '(tcp "localhost" 12345) #f #f ;; "myuser" (passphrase->key "mypassphrase") request-handler close-handler)) (printf "Response is ~s\n" (request! con '("ping" "12345"))) (printf "Response is ~s\n" (request! con '("ping" "12345"))) (printf "Response is ~s\n" (request! con '("asynch"))) ;; Wait for asynch responses to all arrive (thread-sleep! 10) (close-connection! con)