]> gitweb.factorcode.org Git - factor.git/commitdiff
Add time server demo
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 11 Nov 2008 19:14:39 +0000 (13:14 -0600)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Tue, 11 Nov 2008 19:14:39 +0000 (13:14 -0600)
extra/time-server/authors.txt [new file with mode: 0644]
extra/time-server/time-server-tests.factor [new file with mode: 0644]
extra/time-server/time-server.factor [new file with mode: 0644]

diff --git a/extra/time-server/authors.txt b/extra/time-server/authors.txt
new file mode 100644 (file)
index 0000000..d4f5d6b
--- /dev/null
@@ -0,0 +1 @@
+Slava Pestov
\ No newline at end of file
diff --git a/extra/time-server/time-server-tests.factor b/extra/time-server/time-server-tests.factor
new file mode 100644 (file)
index 0000000..a9fac2d
--- /dev/null
@@ -0,0 +1,4 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: tools.test time-server ;
+IN: time-server.tests
diff --git a/extra/time-server/time-server.factor b/extra/time-server/time-server.factor
new file mode 100644 (file)
index 0000000..28debf1
--- /dev/null
@@ -0,0 +1,19 @@
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: io io.servers.connection accessors threads
+calendar calendar.format ;
+IN: time-server
+
+: handle-time-client ( -- )
+    now timestamp>rfc822 print ;
+
+: <time-server> ( -- threaded-server )
+    <threaded-server>
+        "time-server" >>name
+        1234 >>insecure
+        [ handle-time-client ] >>handler ;
+
+: start-time-server ( -- threaded-server )
+    <time-server> [ start-server ] in-thread ;
+
+MAIN: start-time-server