]> gitweb.factorcode.org Git - factor.git/blob - extra/fuel/remote/remote.factor
d3b48efac696e858ab40132ddf112ada637e25d8
[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     utf8 <threaded-server>
15         "tty-server" >>name
16         swap local-server >>insecure
17         [ start-listener ] >>handler
18         f >>timeout ;
19
20 : print-banner ( -- )
21     "Starting server. Connect with 'M-x connect-to-factor' in Emacs"
22     write nl flush ;
23
24 PRIVATE>
25
26 : fuel-start-remote-listener ( port/f -- )
27     print-banner integer? [ 9000 ] unless* server start-server ;
28
29 : fuel-start-remote-listener* ( -- ) f fuel-start-remote-listener ;
30