enum lfds711_queue_bmm_query
Jump to navigation
Jump to search
Source File
└───liblfds711 └───inc └───liblfds711 lfds711_queue_bmm.h
Enum
enum lfds711_queue_umm_query { LFDS711_QUEUE_BMM_QUERY_GET_POTENTIALLY_INACCURATE_COUNT, LFDS711_QUEUE_BMM_QUERY_SINGLETHREADED_VALIDATE };
Values
LFDS711_QUEUE_BMM_QUERY_GET_POTENTIALLY_INACCURATE_COUNT
- Counts the number of elements in the queue. Where with this queue, enqueue and dequeue operations are not guaranteed to be visible by the time the enqueue or dequeue function returns, it must then be that the count of operations can be inaccurate. If some (typically) tens of microseconds have passed since the last operation by any thread, the count will be correct.
LFDS711_QUEUE_UMM_QUERY_SINGLETHREADED_VALIDATE
- Validates the queue. Additionally, if given as input a lfds711_misc_validation_info, which indicates an expected range of the number of elements in the queue, counts the number of elements in the queue and checks they fall within the expected range. As with count, both the loop check and the element count (which is in fact performed by issuing the LFDS711_QUEUE_UMM_QUERY_SINGLETHREADED_GET_COUNT query) can in theory enter an infinite loop if enqueue or dequeue operations occur while the validation operation is executing. You were warned.
Notes
This enum is used by the queue query function, lfds711_queue_bmm_query.