Node.js 的网络 IO 库扩展,libuv 1.0.0 发布

jopen 10年前

libuv 是 Node 的新跨平台抽象层,用于抽象 Windows 的 IOCP 及 Unix 的 libev。作者打算在这个库的包含所有平台的差异性。

特性:

  • 非阻塞 TCP 套接字

  • 非阻塞命名管道

  • UDP

  • 定时器

  • 子进程生成

  • 通过 uv_getaddrinfo 实现异步 DNS

  • 异步文件系统 API:uv_fs_*

  • 高分辨率时间:uv_hrtime

  • 正在运行程序路径查找:uv_exepath

  • 线程池调度:uv_queue_work

  • TTY控制的ANSI转义代码: uv_tty_t

  • 文件系统事件现在支持 inotify, ReadDirectoryChangesW 和 kqueue。很快会支持事件端口:uv_fs_event_t

  • 进程间的 IPC 与套接字共享:uv_write2

已受支持的平台:

  • Microsoft Windows 操作系统,如 Windows XP SP2。使用 Visual Studio 或 MinGW 构建

  • Linux 2.6 使用 GCC 工具链

  • MacOS 使用 GCC 或 XCode 工具链

  • Solaris 121 或之后版本,使用 GCC 工具链

libuv 1.0.0 发布,此版本包括大约 3000 个 commits,已经开发了 4 年了,现在终于发布啦!

libuv 1.0.0 是个非常长的开发过程,自从 0.10.0 开始,但是现在终于发布了!

跟之前的 RC 版本并没有太大改进:

* doc: fix git/svn url for gyp repo in README (Emmanuel Odeke)    * windows: fix fs_read with nbufs > 1 and offset (Unknown W. Brackets)    * win: add missing IP_ADAPTER_UNICAST_ADDRESS_LH definition for MinGW    (huxingyi)    * doc: mention homebrew in README (Mikhail Mukovnikov)    * doc: add learnuv workshop to README (Thorsten Lorenz)    * doc: fix parameter name in uv_fs_access (Saúl Ibarra Corretgé)    * unix: use cfmakeraw() for setting raw TTY mode (Yuri D'Elia)    * win: fix uv_thread_self() (Alexis Campailla)    * build: add x32 support to gyp build (Ben Noordhuis)    * build: remove dtrace probes (Ben Noordhuis)    * doc: fix link in misc.rst (Manos Nikolaidis)    * mailmap: remove duplicated entries (Saúl Ibarra Corretgé)    * gyp: fix comment regarding version info location (Saúl Ibarra    Corretgé)

libuv 1.0.0 会维护一个稳定的 ABI 和向后兼容 API。

升级指南:http://docs.libuv.org/en/latest/migration_010_100.html

更多内容请看发行说明


来自:http://www.oschina.net/news/57237/libuv-1-0-0