ING logoRESERVE: get exclusive use of a camera

This page is part of the ING document INS-DAS-24: client-server interface for control of cameras
 



Purpose: prevent interference between clients.

Actors: one UltraDAS client; one other client; udas_camera server.

Outline: the first client reserves the principle functions of the camera server. The second client tries to use these functions but is denied. The first client then finishes with the server and the second client can have a go.

Normal course of events:

  1. Two UltraDAS clients, c1 and c2 say, each want to do a sequence of operations on server.
  2. C1 invokes the RESERVE action on server, with no arguments.
  3. Server confirms c1's reservation by sending back a trigger message; RESERVE is still in progress but now goes to sleep.
  4. C1 begins its action sequence.
  5. C2 invokes RESERVE on server, with no arguments.
  6. Server sends the error-status DITS__ACTACTIVE to c2.
  7. C2 gives up for a while.
  8. C1 finishes its sequence.
  9. C1 kicks the RESERVE action on server, sending no arguments with the kick message.
  10. Server sends back good status for RESERVE to c1.
  11. C2 tries again: it invokes RESERVE on server with no arguments.
  12. Server acknowleges C2's reservation with a trigger message.
  13. C2 is now free to do its sequence.
Variations: