]> gitweb.factorcode.org Git - factor.git/blob - extra/fuel/remote/remote.factor
Merge branch 'master' into experimental
[factor.git] / extra / fuel / remote / remote.factor
1 ! Copyright (C) 2009 Jose Antonio Ortega Ruiz.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors debugger io io.encodings.utf8 io.servers.connection
4 kernel listener math namespaces ;
5
6 IN: fuel.remote
7
8 <PRIVATE
9
10 : start-listener ( -- )
11     [ [ print-error-and-restarts ] error-hook set listener ] with-scope ;
12
13 : server ( port -- server )
14     <threaded-server>
15         "tty-server" >>name
16         utf8 >>encoding
17         swap local-server >>insecure
18         [ start-listener ] >>handler
19         f >>timeout ;
20
21 : print-banner ( -- )
22     "Starting server. Connect with 'M-x connect-to-factor' in Emacs"
23     write nl flush ;
24
25 PRIVATE>
26
27 : fuel-start-remote-listener ( port/f -- )
28     print-banner integer? [ 9000 ] unless* server start-server ;
29
30 : fuel-start-remote-listener* ( -- ) f fuel-start-remote-listener ;
31