-USING: io.sockets io.server io kernel math threads\r
+USING: io.sockets io.server io kernel math threads io.encodings.ascii\r
debugger tools.time prettyprint concurrency.combinators ;\r
IN: benchmark.sockets\r
\r
: simple-server ( -- )\r
- 7777 local-server "benchmark.sockets" [\r
+ 7777 local-server "benchmark.sockets" ascii [\r
read1 CHAR: x = [\r
stop-server\r
] [\r
! See http://factorcode.org/license.txt for BSD license.
USING: serialize sequences concurrency.messaging
threads io io.server qualified arrays
-namespaces kernel ;
+namespaces kernel io.encodings.binary ;
QUALIFIED: io.sockets
IN: concurrency.distributed
[
local-node set-global
"concurrency.distributed"
- [ handle-node-client ] with-server
+ binary [ handle-node-client ] with-server
] 2curry f spawn drop ;
: start-node ( port -- )
! See http://factorcode.org/license.txt for BSD license.
USING: assocs kernel namespaces io io.timeouts strings splitting
threads http http.server.responders sequences prettyprint
-io.server logging calendar ;
+io.server logging calendar io.encodings.latin1 ;
IN: http.server
\ parse-request NOTICE add-input-logging
: httpd ( port -- )
- internet-server "http.server" [
+ internet-server "http.server" latin1 [
1 minutes stdio get set-timeout
readln [ parse-request ] when*
] with-server ;
: internet-server ( port -- seq )
f swap t resolve-host ;
-: with-server ( seq service quot -- )
+: with-server ( seq service encoding quot -- )
V{ } clone [
- servers [
- [ server-loop ] curry with-logging
+ swap servers [
+ [ server-loop ] 2curry with-logging
] with-variable
- ] 3curry parallel-each ; inline
+ ] 3curry curry parallel-each ; inline
: stop-server ( -- )
servers get [ dispose ] each ;
-USING: listener io.server ;
+USING: listener io.server io.encodings.utf8 ;
IN: tty-server
: tty-server ( port -- )
local-server
"tty-server"
- [ listener ] with-server ;
+ utf8 [ listener ] with-server ;
: default-tty-server 9999 tty-server ;
-MAIN: default-tty-server
\ No newline at end of file
+MAIN: default-tty-server