Mercurial > hg > jslab
annotate src/scheme/sockets.scm @ 8:5e3cbbf173aa tip
Reorganise some more
author | samer |
---|---|
date | Fri, 05 Apr 2019 22:41:58 +0100 |
parents | 5df24c91468d |
children |
rev | line source |
---|---|
samer@1 | 1 (load "streams.scm") |
samer@1 | 2 |
samer@0 | 3 (define (make-server) (java.net.ServerSocket. 2000)) |
samer@0 | 4 (define (accept s) (display "waiting for connection...\n") (.accept s)) |
samer@0 | 5 (define (connect host) (display "connecting...\n") (java.net.Socket. host 2000)) |
samer@0 | 6 (define (istream s) (.getInputStream s)) |
samer@0 | 7 (define (ostream s) (.getOutputStream s)) |
samer@0 | 8 |
samer@0 | 9 (define-method (send (socket java.net.Socket) (x Vec)) |
samer@0 | 10 (VecToStream. x (buffer (ostream socket)))) |
samer@0 | 11 (define-method (recv (socket java.net.Socket) (x Vec)) |
samer@0 | 12 (StreamToVec. x (buffer (istream socket)))) |
samer@0 | 13 |
samer@0 | 14 (define-method (send (socket java.net.Socket) (x DoubleModel)) |
samer@0 | 15 (SignalToStream. x (buffer (ostream socket)))) |
samer@0 | 16 (define-method (recv (socket java.net.Socket) (x DoubleModel)) |
samer@0 | 17 (StreamToDouble. x (buffer (istream socket)))) |
samer@0 | 18 |