libuv6_file

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_
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值