XFusion API v1.3.0
载入中...
搜索中...
未找到
task_queue

队列。 更多...

task_queue 的协作图:

结构体

struct  _xf_task_queue_t
 消息队列对象结构体。 更多...
 

类型定义

typedef struct _xf_task_queue_t xf_task_queue_t
 消息队列对象结构体。
 
typedef enum _xf_task_queue_mode_t xf_task_queue_mode_t
 消息队列传输模式枚举。
 

枚举

enum  _xf_task_queue_mode_t { XF_TASK_QUEUE_SEND_TO_BACK , XF_TASK_QUEUE_SEND_TO_FRONT }
 消息队列传输模式枚举。 更多...
 

函数

xf_err_t xf_task_queue_init (xf_task_queue_t *const queue, void *data, const size_t size, const size_t count)
 队列对象初始化。
 
xf_err_t xf_task_queue_reset (xf_task_queue_t *const queue)
 重置队列。
 
bool xf_task_queue_is_empty (const xf_task_queue_t *const queue)
 判断队列是否为空。
 
size_t xf_task_queue_count (const xf_task_queue_t *const queue)
 获取队列数据个数
 
void * xf_task_queue_peek (const xf_task_queue_t *const queue)
 获取队列第一个元素。
 
size_t xf_task_queue_available (const xf_task_queue_t *const queue)
 获取队列剩余空间。
 
bool xf_task_queue_is_full (const xf_task_queue_t *const queue)
 判断队列是否已满。
 
xf_err_t xf_task_queue_send (xf_task_queue_t *const queue, void *item, const xf_task_queue_mode_t pos)
 队列发送数据。
 
xf_err_t xf_task_queue_remove_front (xf_task_queue_t *const queue)
 从队列删除第一个元素。
 
xf_err_t xf_task_queue_receive (xf_task_queue_t *const queue, void *const buffer)
 从队列接收一个元素。
 

详细描述

队列。

类型定义说明

◆ xf_task_queue_t

消息队列对象结构体。

◆ xf_task_queue_mode_t

消息队列传输模式枚举。

枚举类型说明

◆ _xf_task_queue_mode_t

消息队列传输模式枚举。

枚举值
XF_TASK_QUEUE_SEND_TO_BACK 

从后往前发送

XF_TASK_QUEUE_SEND_TO_FRONT 

从前往后发送

在文件 xf_task_queue.h52 行定义.

函数说明

◆ xf_task_queue_init()

xf_err_t xf_task_queue_init ( xf_task_queue_t *const  queue,
void *  data,
const size_t  size,
const size_t  count 
)

队列对象初始化。

参数
queue队列对象。
data队列数据指针。
size队列数据大小。
count队列数据个数。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 初始化成功

在文件 xf_task_queue.c34 行定义.

◆ xf_task_queue_reset()

xf_err_t xf_task_queue_reset ( xf_task_queue_t *const  queue)

重置队列。

参数
queue队列对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 队列重置成功

在文件 xf_task_queue.c56 行定义.

◆ xf_task_queue_is_empty()

bool xf_task_queue_is_empty ( const xf_task_queue_t *const  queue)

判断队列是否为空。

参数
queue队列对象。
返回
true 队列为空
false 队列不为空

在文件 xf_task_queue.c68 行定义.

◆ xf_task_queue_count()

size_t xf_task_queue_count ( const xf_task_queue_t *const  queue)

获取队列数据个数

参数
queue队列对象
返回
size_t 队列数据个数

在文件 xf_task_queue.c75 行定义.

◆ xf_task_queue_peek()

void * xf_task_queue_peek ( const xf_task_queue_t *const  queue)

获取队列第一个元素。

注解
该函数不会删除队列第一个元素。
参数
queue队列对象。
返回
void* 队列第一个元素

在文件 xf_task_queue.c82 行定义.

◆ xf_task_queue_available()

size_t xf_task_queue_available ( const xf_task_queue_t *const  queue)

获取队列剩余空间。

参数
queue队列对象。
返回
size_t 队列剩余空间

在文件 xf_task_queue.c98 行定义.

◆ xf_task_queue_is_full()

bool xf_task_queue_is_full ( const xf_task_queue_t *const  queue)

判断队列是否已满。

参数
queue队列对象。
返回
true 队列已满
false 队列未满

在文件 xf_task_queue.c105 行定义.

◆ xf_task_queue_send()

xf_err_t xf_task_queue_send ( xf_task_queue_t *const  queue,
void *  item,
const xf_task_queue_mode_t  pos 
)

队列发送数据。

参数
queue队列对象。
item发送的数据。
pos发送模式。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_ERR_BUSY 队列已满
  • XF_OK 发送成功

在文件 xf_task_queue.c116 行定义.

◆ xf_task_queue_remove_front()

xf_err_t xf_task_queue_remove_front ( xf_task_queue_t *const  queue)

从队列删除第一个元素。

参数
queue队列对象。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 删除成功

在文件 xf_task_queue.c130 行定义.

◆ xf_task_queue_receive()

xf_err_t xf_task_queue_receive ( xf_task_queue_t *const  queue,
void *const  buffer 
)

从队列接收一个元素。

参数
queue队列对象。
buffer接收的数据。
返回
xf_err_t
  • XF_ERR_INVALID_ARG 参数错误
  • XF_OK 接收成功

在文件 xf_task_queue.c142 行定义.