HVD element query message, sent with the SWEVT_RR_ELEMENT_QUERY_LOCK event. More...
#include "rrevents.h"
Data Fields | |
void * | connection |
sw_tl_ref | timeline |
const uint8 * | id |
uintptr_t | handle |
HVD element query message, sent with the SWEVT_RR_ELEMENT_QUERY_LOCK event.
Looks for a raster element with the given id, and locks it against purging if found.
Returns SW_EVENT_CONTINUE if nothing found, in which case handle is undefined. Note that NULL
is a valid value for handle which means that the element is defined, but is degenerate.
If the element is found, it should not be purged from the cache instance until it receives a corresponding unlock event, or the connection ends. This controls the low water mark level of the cache such that the current page can be guaranteed to complete. Of course the cache implementation is free to store raster elements even after the unlock, and should be encouraged to do so. This locking mechanism simply defines the minimum requirement for successful output.
An element may be queried and locked multiple times in the same connection before receiving any unlock messages. This is a common case when Harlequin Parallel Pages is active. If there are no errors in processing a job, there will be an equal number of unlock messages to successful query/lock messages. All locks made during a connection should be removed when the connection is disconnected.
void* SWMSG_RR_ELEMENT_QUERY_LOCK::connection |
Opaque handle to the connection to which this event is relevant. All handlers whose connection handle doesn't match should immediately return SW_EVENT_CONTINUE.
uintptr_t SWMSG_RR_ELEMENT_QUERY_LOCK::handle |
Element handle - an opaque reference to the cache instance, if any. This will not be used by the RIP directly if external HVD is on.
const uint8* SWMSG_RR_ELEMENT_QUERY_LOCK::id |
Unique ID, length RR_ELEMENT_ID_LENGTH.
sw_tl_ref SWMSG_RR_ELEMENT_QUERY_LOCK::timeline |
Identifies the job containing the pages.