镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

fs: expose scatter/gather syscalls writev() and readv() #2298

Description

@reqshark

with the awesome work achieved here by @ronkorving in libuv/libuv@2bf7827

the upcoming libuv release will unblock #2167

first mentioned by @trevnorris in that PR, i think it makes a lot of sense to expose scatter/gather syscalls writev and also readv from node.js

Activity

  1. added
    fsIssues and PRs related to file-system APIs and the fs module.
    discussIssues opened for discussion and feedback.
    on Aug 4, 2015
  2. Trott commented on Mar 11, 2016

    @Trott
    Member

    @reqshark Can you elaborate a little on this? Or maybe link to the specific comment in the PR that you're referring to? Apologies in advance for my ignorance.

  3. reqshark commented on Mar 23, 2016

    @reqshark
    Author

    @Trott oh ok, I remember now what this was about.

    i was just thinking how cool would it be to do fs.writev and fs.readv?

    API would operate by using fs.open first to get an fd and use it like we do on fs.read/fs.write

    this would open the door to more efficient I/O for a wide variety of buffer sizes

  4. Trott commented on Jul 7, 2017

    @Trott
    Member

    #2167 landed. Anyone thinking this feature is a good idea and willing to try to implement and submit a pull request?

  5. removed
    discussIssues opened for discussion and feedback.
    on Mar 9, 2018
  6. changed the title [-]fs: expose scatter/gather syscalls writev() and readv()[/-] [+]fs: expose setter/getter syscalls writev() and readv()[/+] on Nov 11, 2018
  7. refack commented on Nov 11, 2018

    @refack
    Contributor
  8. zbjornson commented on Jan 26, 2019

    @zbjornson
    Contributor

    @refack did you intentionally change the title from "scatter/gather" to "setter/getter"? writev/readv are correctly called "scatter/gather" syscalls.

  9. reqshark commented on Jan 26, 2019

    @reqshark
    Author

    nice catch @zbjornson!

  10. changed the title [-]fs: expose setter/getter syscalls writev() and readv()[/-] [+]fs: expose scatter/gather syscalls writev() and readv()[/+] on Jan 26, 2019
  11. addaleax commented on Jan 26, 2019

    @addaleax
    Member

    Fwiw, writev is already available on the internal fs binding (as writeBuffers), so that should be very easy to implement. readv shouldn’t be much harder.

    I’d like to reopen this. It’s not a trivial first contribution, but if you know some C++ and can copy-paste the rest together, this should be doable (and I’m happy to help), so I’m adding good first contribution.

  12. 3 remaining items

  13. AnasAboreeda commented on Jan 31, 2019

    @AnasAboreeda
    Contributor

    @addaleax Is this still available, If yes I would like to pick it up and work on it as my first contribution, and definitely I will need your guidance.

  14. addaleax commented on Jan 31, 2019

    @addaleax
    Member

    @anasfullstack Awesome! I think your best point to start would be to look at how fs.write() for single Buffers is implemented, and try to come up with something similar that calls binding.writeBuffers rather than binding.writeBuffer?

  15. thangktran commented on Apr 24, 2019

    @thangktran
    Contributor

    has this issue gone Stale?

  16. refack commented on Apr 24, 2019

    @refack
    Contributor

    For anyone interested, all the issues in https://github.com/nodejs/node/projects/13 are looking for someone to "adopt" them. In general they represent ideas that did not raise objections, but have no champion to push them forward.

  17. added 2 commits that reference this issue on Apr 25, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    c++Issues and PRs that require attention from people who are familiar with C++.feature requestIssues requesting new Node.js features.fsIssues and PRs related to file-system APIs and the fs module.good first issueIssues that are suitable for first-time contributors.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions