Go up one levelGo to Previous Go to Next

The RtdRMPServer Class

The RtdRMPServer class overrides the above virtual methods, as well as providing many methods for dealing with server-specific processing. The server spawns a child process in order to carry out image processing prior to sending the image. This is so that RMP events may continue to be processed while the potentially rather long image compression takes place.

The child and parent processes are synchronised as follows: the server forks, with the parent process returning immediately to the RMP detect loop. The child process performs compression tasks, and on completion places the result into a separate buffer of shared memory before raising a semaphore. The child process then exits. The parent continually polls the semaphore, and when it detects that the child has completed sends the shared memory buffer to the clients. The semaphore is then decremented.

The RtdRMPServer class also implements the methods of the rtdrmpserver Tk widget, and as such overrides the TclCommand call() method. See TclCommand(3) and rtdrmpserver(n) for more information.

The following are the most important RtdRMPServer methods:


Go up one levelGo to Previous Go to Next

Please send questions or comments to abrighto@eso.org.
Copyright © 1998 ESO - European Southern Observatory