XFusion API v1.3.0
|
无栈协程。 更多...
结构体 | |
struct | _xf_ntask_sem_t |
ntask 信号量结构体。 更多... | |
宏定义 | |
#define | XF_TASK_TYPE_NTASK XF_TASK_TYPE_ntask |
ntask 类型值。 XF_TASK_TYPE_ntask 通过 xf_task_reg.inc 拼接而来。 | |
#define | XF_NTASK_BEGIN(ntask) |
#define | XF_NTASK_END() |
#define | xf_ntask_yield() |
#define | xf_ntask_until(compare_cb) |
#define | xf_ntask_delay(delay_ms) |
#define | xf_ntask_until_timeout(compare_cb, timeout_ms) |
#define | xf_ntask_exit() |
#define | xf_await(func) |
类型定义 | |
typedef struct _xf_ntask_sem_t | xf_ntask_sem_t |
ntask 信号量结构体。 | |
typedef int(* | xf_ntask_compare_func_t) (xf_task_t task) |
typedef enum _xf_ntask_status_t | xf_ntask_status_t |
typedef void | xf_async_t |
枚举 | |
enum | _xf_ntask_status_t { XF_NTASK_NONE = -1 , XF_NTASK_WAITING , XF_NTASK_YIELDED , XF_NTASK_EXITED , XF_NTASK_ENDED , XF_NTASK_FINSHED } |
函数 | |
static xf_task_t | xf_ntask_create_with_manager (xf_task_manager_t manager, xf_task_func_t func, void *func_arg, uint16_t priority) |
创建无栈协程 | |
void | xf_ntask_set_compare (xf_task_t task, xf_ntask_compare_func_t compare) |
设置比较函数,回调函数返回 0,则任务继续进行,单次有效 | |
int | xf_ntask_args_get_int (xf_task_t *task, const char *name) |
获取保存的整数变量 | |
float | xf_ntask_args_get_float (xf_task_t *task, const char *name) |
获取保存的浮点变量 | |
void * | xf_ntask_args_get_array (xf_task_t *task, const char *name) |
获取保存的数组 | |
xf_err_t | xf_ntask_args_set_int (xf_task_t *task, const char *name, int value) |
保存整数变量 | |
xf_err_t | xf_ntask_args_set_float (xf_task_t *task, const char *name, float value) |
保存浮点变量 | |
xf_err_t | xf_ntask_args_set_array (xf_task_t *task, const char *name, void *value, unsigned int size, unsigned int len) |
保存数组 | |
uint32_t | xf_ntask_get_lc (xf_task_t *task, const char *name) |
获取上下文位置 (给宏调用) | |
xf_err_t | xf_ntask_set_lc (xf_task_t *task, const char *name, uint32_t lc) |
设置上下文位置 (给宏调用) | |
xf_ntask_status_t | xf_ntask_get_exit_status (xf_task_t *task) |
获取退出状态 (给宏调用) | |
xf_err_t | xf_ntask_set_exit_status (xf_task_t *task, xf_ntask_status_t status) |
设置退出状态 (给宏调用) | |
bool | xf_ntask_lc_is_first (xf_task_t *task, const char *name) |
获取是否是最外层函数 | |
无栈协程。
#define XF_TASK_TYPE_NTASK XF_TASK_TYPE_ntask |
ntask 类型值。 XF_TASK_TYPE_ntask
通过 xf_task_reg.inc
拼接而来。
在文件 xf_ntask.h 第 38 行定义.
#define XF_NTASK_BEGIN | ( | ntask | ) |
在文件 xf_ntask.h 第 193 行定义.
#define XF_NTASK_END | ( | ) |
在文件 xf_ntask.h 第 199 行定义.
#define xf_ntask_yield | ( | ) |
在文件 xf_ntask.h 第 209 行定义.
#define xf_ntask_until | ( | compare_cb | ) |
在文件 xf_ntask.h 第 219 行定义.
#define xf_ntask_delay | ( | delay_ms | ) |
在文件 xf_ntask.h 第 229 行定义.
#define xf_ntask_until_timeout | ( | compare_cb, | |
timeout_ms | |||
) |
在文件 xf_ntask.h 第 239 行定义.
#define xf_ntask_exit | ( | ) |
在文件 xf_ntask.h 第 250 行定义.
#define xf_await | ( | func | ) |
在文件 xf_ntask.h 第 264 行定义.
typedef struct _xf_ntask_sem_t xf_ntask_sem_t |
ntask 信号量结构体。
在文件 xf_ntask.h 第 49 行定义.
typedef enum _xf_ntask_status_t xf_ntask_status_t |
typedef void xf_async_t |
在文件 xf_ntask.h 第 262 行定义.
enum _xf_ntask_status_t |
枚举值 | |
---|---|
XF_NTASK_NONE | |
XF_NTASK_WAITING | |
XF_NTASK_YIELDED | |
XF_NTASK_EXITED | |
XF_NTASK_ENDED | |
XF_NTASK_FINSHED |
在文件 xf_ntask.h 第 51 行定义.
|
inlinestatic |
创建无栈协程
manager | 任务调度器 |
func | 任务执行函数 |
func_arg | 任务参数 |
priority | 任务优先级 |
在文件 xf_ntask.h 第 72 行定义.
void xf_ntask_set_compare | ( | xf_task_t | task, |
xf_ntask_compare_func_t | compare | ||
) |
int xf_ntask_args_get_int | ( | xf_task_t * | task, |
const char * | name | ||
) |
float xf_ntask_args_get_float | ( | xf_task_t * | task, |
const char * | name | ||
) |
void * xf_ntask_args_get_array | ( | xf_task_t * | task, |
const char * | name | ||
) |
xf_err_t xf_ntask_args_set_array | ( | xf_task_t * | task, |
const char * | name, | ||
void * | value, | ||
unsigned int | size, | ||
unsigned int | len | ||
) |
保存数组
task | 任务对象 |
name | 数组变量名称 |
value | 数组变量值 |
size | 数组元素大小 |
len | 数组元素个数 |
在文件 xf_ntask.c 第 156 行定义.
uint32_t xf_ntask_get_lc | ( | xf_task_t * | task, |
const char * | name | ||
) |
xf_ntask_status_t xf_ntask_get_exit_status | ( | xf_task_t * | task | ) |
xf_err_t xf_ntask_set_exit_status | ( | xf_task_t * | task, |
xf_ntask_status_t | status | ||
) |
bool xf_ntask_lc_is_first | ( | xf_task_t * | task, |
const char * | name | ||
) |