factor/library/tools/telnetd.factor

27 lines
650 B
Factor
Raw Normal View History

! Copyright (C) 2003, 2005 Slava Pestov.
! See http://factor.sf.net/license.txt for BSD license.
2004-07-16 02:26:21 -04:00
IN: telnetd
USING: errors listener kernel logging namespaces stdio streams
threads parser ;
2004-07-16 02:26:21 -04:00
: telnet-client ( socket -- )
dup [ log-client listener ] with-stream ;
2004-07-16 02:26:21 -04:00
: telnet-connection ( socket -- )
[ telnet-client ] in-thread drop ;
2004-07-16 02:26:21 -04:00
: telnetd-loop ( server -- server )
2004-11-25 23:14:17 -05:00
[ [ accept telnet-connection ] keep ] forever ;
2004-07-16 02:26:21 -04:00
: telnetd ( port -- )
[
2004-11-25 23:14:17 -05:00
<server> [ telnetd-loop ] [ swap fclose rethrow ] catch
2004-07-16 02:26:21 -04:00
] with-logging ;
IN: shells
: telnet
"telnetd-port" get str>number telnetd ;
global [ 9999 "telnetd-port" set ] bind