Command stack priorities

When a client connects to the server for any purpose - for instance to synchronize e-mail - DME checks the command stack for the device in question before executing the client request. The reason for this is to check if any other commands with a higher priority are waiting for execution on the client - for instance a device flush, which would be more important than an e-mail sync.

The following is a general description of the way DME gives priority to the various commands.

The general list of priorities is as follows:

  1. Flush data takes precedence over all other commands.
  2. Send full system info/Import system info takes precedence over all other commands apart from 1 (Flush data).
  3. Synchronize system info takes precedence over all other commands apart from 1 and 2.
  4. Import x (for instance e-mail) takes precedence over Synchronize x only.

The command stack sent from the server can include other commands, for instance Get diagnostic log. The list of commands sent to the client is ordered according to the above list of priorities.

One result of the command stack is that if a user synchronizes e-mail (for instance), he or she may experience that a calendar sync is performed afterwards. This is because a pending calendar notification existed, and the server makes use of the existing connection to synchronize. This saves time and resources on the client.

Next topic

History