Node.js 的網絡 IO 庫擴展,libuv 1.0.0 發布

jopen 10年前發布 | 6K 次閱讀 libuv Node.js

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

  • </ul>

    • 進程間的 IPC 與套接字共享:uv_write2

    已受支持的平臺:

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

    • Linux 2.6 使用 GCC 工具鏈

    • MacOS 使用 GCC 或 XCode 工具鏈

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

    • </ul>

      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é)</pre>

      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

       本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
       轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
       本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!