Cluster Drivers

Top  Previous  Next

The cluster drivers correspond to the application layer of the ISO Reference Model. They supply services that are used by the Diamond libraries or by user-written code to perform standard I/O and other host functions. Each of the various clusters has a number, and when a program wishes to invoke a service, the following happens:

1.

The DSP constructs a command packet to be sent to the server. This packet is made up from a 32-bit command word and parameter values required by the service. The command word includes both the cluster number and the number of the service within that cluster. The total size of the command packet is limited to 8292 octets.

2.

The command packet is transmitted to the server when the DSP attempts to read the first response.

3.

The server reads in the whole of the command packet and uses the command word to pass control to the selected service.

4.

The service function starts by getting all of the parameters from the command packet. It then executes and creates a response packet of zero or more values.

5.

The command packet and the response packet are held in the same buffer, so it is crucial that all command parameters are read before any response values are written.

6.

The service function returns a status value which is automatically added to the end of the response packet. The total size of the response packet is limited to 8292 octets.

7.

The server transmits the response packet back to the DSP.

8.

The DSP reads the response values followed by the status value, terminating the transaction.