queue.h

Overview

The queue.h file declares the queue interfaces in C.

Since: 10

Related module: FFRT

Summary

Types

Name Description
typedef void * ffrt_queue_t Defines a queue handle.

Enums

Name Description
ffrt_queue_type_t { ffrt_queue_serial, ffrt_queue_max } Enumerates the queue types.

Functions

Name Description
FFRT_C_API int ffrt_queue_attr_init (ffrt_queue_attr_t *attr) Initializes a queue attribute.
FFRT_C_API void ffrt_queue_attr_destroy (ffrt_queue_attr_t *attr) Destroys a queue attribute.
FFRT_C_API void ffrt_queue_attr_set_qos (ffrt_queue_attr_t *attr, ffrt_qos_t qos) Sets the queue QoS.
FFRT_C_API ffrt_qos_tffrt_queue_attr_get_qos (const ffrt_queue_attr_t *attr) Obtains the queue QoS.
FFRT_C_API void ffrt_queue_attr_set_timeout (ffrt_queue_attr_t *attr, uint64_t timeout_us) Sets the queue timeout.
FFRT_C_API uint64_t ffrt_queue_attr_get_timeout (const ffrt_queue_attr_t *attr) Obtains the queue timeout.
FFRT_C_API void ffrt_queue_attr_set_callback (ffrt_queue_attr_t *attr, ffrt_function_header_t *f) Sets a callback that is invoked when a queue task times out.
FFRT_C_API ffrt_function_header_t * ffrt_queue_attr_get_callback (const ffrt_queue_attr_t *attr) Obtains the callback that is invoked when a queue task times out.
FFRT_C_API ffrt_queue_tffrt_queue_create (ffrt_queue_type_t type, const char *name, const ffrt_queue_attr_t *attr) Creates a queue.
FFRT_C_API void ffrt_queue_destroy (ffrt_queue_t queue) Destroys a queue.
FFRT_C_API void ffrt_queue_submit (ffrt_queue_t queue, ffrt_function_header_t *f, const ffrt_task_attr_t *attr) Submits a task to a queue.
FFRT_C_API ffrt_task_handle_tffrt_queue_submit_h (ffrt_queue_t queue, ffrt_function_header_t *f, const ffrt_task_attr_t *attr) Submits a task to a queue, and obtains a task handle.
FFRT_C_API void ffrt_queue_wait (ffrt_task_handle_t handle) Waits until a task in the queue is complete.
FFRT_C_API int ffrt_queue_cancel (ffrt_task_handle_t handle) Cancels a task in the queue.