The Navigator-Node interface is currently implemented as an XMLRPC connection. The node hosts an XML-RPC server, listening on a fixed port (the default being 8550). The navigator connects to this port and issues commands to the node.

There can be several simultaneous connections, each receiving a different connection ID. Also, the node could easily be extended to listen for other remote control protocols (e.g. SOAP).

Table of contents [hide]

Interface description

Methods

The Navigator can invoke the following methods on the Node:

Events

Each event sent by the node (in reply to the GetEvents method) is a three-element tuple: the first element is a timestamp (in Unix format), the second element is the event type (a string), and the third is the event's contents (whose format depends on the event type).

The following types of events are sent to the navigator :

Current implementation

On the node side

The node instantiates a RemoteControl object for each hosted node (see control.py). Depending on the configuration, each RemoteControl can be geared by one or several controllers (see files in the controllers subdirectory).

On the navigator side

The RemoteConnector (see remote.py) connects to the node and sends information to the graphical interface.