]> gitweb.factorcode.org Git - factor.git/commitdiff
echo-server: adding a simple echo server.
authorJohn Benediktsson <mrjbq7@gmail.com>
Fri, 3 Aug 2012 20:49:38 +0000 (13:49 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Fri, 3 Aug 2012 22:17:14 +0000 (15:17 -0700)
extra/echo-server/authors.txt [new file with mode: 0644]
extra/echo-server/echo-server.factor [new file with mode: 0644]

diff --git a/extra/echo-server/authors.txt b/extra/echo-server/authors.txt
new file mode 100644 (file)
index 0000000..e091bb8
--- /dev/null
@@ -0,0 +1 @@
+John Benediktsson
diff --git a/extra/echo-server/echo-server.factor b/extra/echo-server/echo-server.factor
new file mode 100644 (file)
index 0000000..8764fbd
--- /dev/null
@@ -0,0 +1,23 @@
+! Copyright (C) 2012 John Benediktsson
+! See http://factorcode.org/license.txt for BSD license.
+
+USING: accessors kernel io io.encodings.ascii io.servers ;
+
+IN: echo-server
+
+: echo-loop ( -- )
+    readln [ write "\r\n" write flush echo-loop ] when* ;
+
+: <echo-server> ( port -- server )
+    ascii <threaded-server>
+        swap >>insecure
+        "echo.server" >>name
+        [ echo-loop ] >>handler ;
+
+: echod ( port -- server )
+    <echo-server> start-server ;
+
+: echod-main ( -- ) 1234 echod drop ;
+
+MAIN: echod-main
+