edu.isi.powerloom.logic
Class PowerLoomServer
java.lang.Object
edu.isi.powerloom.logic.PowerLoomServer
public class PowerLoomServer
- extends java.lang.Object
PowerLoomServer class. Runs a socket listener and spawns threads of
PowerLoom read-eval-print loops to handle each connection.
The server will listen at a port given on the command line at startup.
Commands are then sent on the socket connection. The syntax of
commands is as follows:
COMMAND ENCODING LANGUAGE VERSION [PASSWORD]
Where COMMAND is one of
- CLOSE -- close the socket connection.
- HALT -- stops the server. Don't do this lightly!
- EVALUATE -- read an expression starting on the following line,
evaluate it, and return the result.
and ENCODING is one of
and LANGUAGE is one of
- CONTROL -- for the CLOSE and HALT commands.
- POWERLOOM -- for the EVALUATE command.
-
VERSION is currently not checked.
PASSWORD, if required, must match the server password established at startup.
Replies will be in the following form:
CODE ENCODING LANGUAGE VERSION CHARACTERS=n LINES=m
Where CODE is one of
- 200 -- successful response.
- 500 -- error response.
and ENCODING is one of
and LANGUAGE is one of
- ENGLISH -- for error messages.
- POWERLOOM -- for evaluation results.
-
The CHARACTERS=n and LINES=m indicate how many characters and lines the
response uses. Line terminators may be any combinbation of CR, LF or CR/LF.
Method Summary |
static void |
main(java.lang.String[] args)
Starts socket server, taking optional port argument. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PowerLoomServer
public PowerLoomServer()
main
public static void main(java.lang.String[] args)
throws java.io.IOException
- Starts socket server, taking optional port argument.
The arguments that may be given at the command line are the following:
-port N N is the port number for socket connections. If it is
not specified, then 4444 is used.
-kb FILENAME A kb from FILENAME is loaded. This option may be repeated
multiple times.
-ontology NAME If given, then the default ontology for new threads is
set to NAME. If not specified, PL-USER is used.
-password S S is a string which is the password for connections. If
not specified, then no password is required. If specified,
then commands must include the correct password.
-admin S S is a string which is the password for administration. If
not specified, then it defaults to the value of the -password
field. This allows a separate password to be used for
administrative functions like shutting down the server.
-startup NAME NAME is a fully qualified method name which must take no
arguments. It is invoked in the order encountered on the
command line. An example would be
"edu.isi.stella.utilities.StartupUtilitiesSystem.startupUtilitiesSystem"
- Throws:
java.io.IOException