Live Demo
iCMS interface
JavaDoc iCMS
JavaDoc Luky
JavaDoc WestHawk Logo

The iCMS interface

The iCMS interface is a series of commands and responses that go back and forth between the cms deamons and the master deamon and / or the iCMS applet and the master deamon (or cms deamon). One single text based protocla is used throughout the design. In a later stage this may be replaced by XML for greater flexibility, but for now it works just fine.
The suported command set by the deamons is described below, the following convention is used:
  • <command>
    means that the command will be replaced by the actual command
  • [ string ]
    means that 0 or 1 times the string will be printed
  • p[ string ]q
    means that minimal p times and max q times the string will be printed
  • ( monkey | ape )
    means either monkey or ape will be printed
  • text.
    means the literal text "text." will be printed
All commands follow the same procedure:
Input:	<command>
Output:	<Result>
Output:	OK.
If you enter a false command, you will receive a NOK. and most likely, the connection will be closed. Some commands are blocking, meaning that you should wait for the response. Other commands return Ok directly but will flood the connection later on with additional information. It seems prudent to be carefull when activating these commands. (e.g when subbed, a state change can occur during a HISTORY command, resulting in a state change beeing reported between the historical traps. (avoid this by opening multiple connections)
The commands are explained in more detail in the following table:

Command Description Result Blocking
ACTION <token>, Shows which actions are possible on this token [ STOP ] [ START ] Y
AVAIL, Shows which tokens are available in the system 0[ <token> ]n Y
CLEAR, Debug command, runs the garbage collector Y
CLOSE, Closes the current connection Y
CONNECT, Fast applet connect, only in masterd
(version 1.5.1 or higher)
Combination of STATUS, DESCR, INFO, ACTION and HISTORY Y(very)
DESCR <token>, Shows description of the token if available [ <description> ] Y
HELLO, Standard keep alive talker Hi. Y
HELP, Shows which commands are supported Supported commands: 0[ <command>, ]n Y
HISTORY, Prints all historical traps 0[ HIST: <trap> ]n Y
INFO <token>, Shows which informationals are available for this token 0[ <token>/<informational> ]n Y
PROBE <token>/<informational>, Probes this informational <informational> <result> Y
SHUTDOWN, Shuts the system down, use with care Y
STATUS (<token> | ALL ), Shows status of this token or all tokens 1[ <token> = <status> ]n Y
START <token>, Sends a start command to this token (if possible) Y
STOP <token>, Sends a stop command to this token (if possible) Y
SUB <token>, Subscribes to this token, when the state changes a response will be send <token> = <status> N
TRAPON, Causes the system to forward new traps when received TRAP: <trap> N
TRAPOFF Stops the forwarding of traps Y