Home

GEONius.com
2-Sep-2009
E-mail

tsiond - Network TSION Server

tsiond is a network server that provides each client with its own TinyScheme interpreter with network extensions.

tsiond creates its own I/O event dispatcher and assigns its handle to Scheme variable G-DISPATCHER. Clients and scripts should use this dispatcher instead of creating their own via the IOX-CREATE function.

telnet(1) in line-by-line mode is an obvious choice for a remote client. You need to close telnet to disconnect from tsiond. TinyScheme function scheme_load_string(), used to submit network input to the Scheme interpreter, always returns OP_QUIT as the last function executed, so tsiond can't distinguish between "(quit)" and other Scheme code typed in by the user.

See the note about environment variable TINYSCHEMEINIT on tsion's page.

NOTE: tsiond runs on the Nintendo DS, accepts connections from clients, and reads input commands. Unfortunately, it doesn't generate any output back to the clients. TinyScheme uses standard I/O to write to the network and tsiond then does fflush(3) to flush the output, so it appears that there is something wrong with one of these calls on the DS when writing to a socket. Bummer!

Invocation:

% tsiond [-debug] [-Debug] [-listen port]

where

-debug
-Debug
enable debug output (written to stdout). Capital "-Debug" generates more voluminous debug.
-listen port
specifies a network server port at which tsiond will listen for and accept client connection requests. A separate Scheme interpreter is created for each new client and the interpreter's I/O is redirected to the client.

Alex Measday  /  E-mail