diff src/scheme/sockets.scm @ 0:bf79fb79ee13

Initial Mercurial check in.
author samer
date Tue, 17 Jan 2012 17:50:20 +0000
parents
children 5df24c91468d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/scheme/sockets.scm	Tue Jan 17 17:50:20 2012 +0000
@@ -0,0 +1,17 @@
+(define (make-server) (java.net.ServerSocket. 2000))
+(define (accept s) (display "waiting for connection...\n") (.accept s))
+(define (connect host) (display "connecting...\n") (java.net.Socket. host 2000))
+(define (istream s) (.getInputStream s))
+(define (ostream s) (.getOutputStream s))
+(load "streams.scm")
+
+(define-method (send (socket java.net.Socket) (x Vec))
+	(VecToStream. x (buffer (ostream socket))))
+(define-method (recv (socket java.net.Socket) (x Vec))
+	(StreamToVec. x (buffer (istream socket))))
+	
+(define-method (send (socket java.net.Socket) (x DoubleModel))
+	(SignalToStream. x (buffer (ostream socket))))
+(define-method (recv (socket java.net.Socket) (x DoubleModel))
+	(StreamToDouble. x (buffer (istream socket))))
+