1. libuv文件系统
1.1. 简介
文件相关的函数以uv_fs_开头,结构统一使用uv_fs_t,文件操作和网络操作不同,网络操作是底层异步API支持非阻塞,而文件系统内部是阻塞调用,通过线程池实现异步通知。文件操作有两种模式:同步模式(回调为NULL)和异步模式。
所有操作回调可以设置为空,如果回调为空执行同步返回,一般对文件的频繁读写,需要使用同步模式。因为异步不保证内容写入的先后顺序,如果对一个文件多次写入有先后顺序要求的话,只能通过同步模式进行。文件的异步回调方式,每个函数的操作都会从线程池里关联一个线程进行操作。
1.2. API说明
1.2.1. 内容结构
typedef void (*uv_fs_cb)(uv_fs_t* req);
/* uv_fs_t is a subclass of uv_req_t. */
typedef struct uv_fs_s {
UV_REQ_FIELDS
uv_fs_type fs_type;
uv_loop_t* loop;
uv_fs_cb cb;
ssize_t result;
void* ptr;
const char* path;
uv_stat_t statbuf; /* Stores the result of uv_fs_stat() and uv_fs_fstat(). */
UV_FS_PRIVATE_FIELDS
} uv_fs_t;
typedef struct {
uint64_t st_dev;
uint64_t st_

最低0.47元/天 解锁文章
1212

被折叠的 条评论
为什么被折叠?



