The PI Server protocol is designed to handle multiple snapshot calls in a network message. The queue versions of pisn_putsnapshot and pisn_sendexceptions were implemented to provide a more efficient transport of data to the PI home node.
The queue versions are similar in function to the non-queue versions. All snapshots are simply buffered until the queue is full and then all values are sent at once.
The function pisn_flushputsnapq forces any values in the queue to be sent to the PI home node; this allows a partially filled queue to be sent to the PI home node.
Pisn_sendexceptionq performs exception testing and values that pass this test are added to the Snapshot queue.
Because the queue functions do not access the PI Home node on every call, it is not possible to return system and point errors immediately. These functions return errors in a qerror structure. Only system errors and points with sendexception or putsnapshot errors will have entries in this structure. All point errors will be listed in the same order the queue function calls were performed.