Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trait AsyncVectoredWrite and related utilities #3092

Closed
wants to merge 14 commits into from

Commits on Nov 7, 2020

  1. add trait AsyncVectoredWrite, impl for TcpStream

    Reintroduce vectored I/O facilities in the new module io::vec,
    starting from the poll_write_vectored method in the new
    AsyncVectoredWrite trait.
    
    Implement AsyncVectoredWrite for TcpStream.
    mzabaluev committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    508e965 View commit details
    Browse the repository at this point in the history
  2. impl AsyncVectoredWrite for Sink

    io::Sink can consume vectored buffers just as well as it can do
    single buffers.
    mzabaluev committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    151ef58 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f41e16f View commit details
    Browse the repository at this point in the history
  4. trait AsyncVectoredWriteExt

    An extension trait providing async-friendly methods for
    all implementors of AsyncVectoredWrite.
    mzabaluev committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    a17f3ce View commit details
    Browse the repository at this point in the history
  5. implement AsyncVectoredWrite for in-memory objects

    Delegate these implementations to std::io::Write::write_vectored,
    no blocking when writing to byte containers in memory.
    mzabaluev committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    e80dc52 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    58a6be3 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e412f1b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    80b9075 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    871b7ab View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    fa50be3 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    8b683e2 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    0d52455 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    40e53bd View commit details
    Browse the repository at this point in the history
  14. Rewrite AsyncVectoredWrite impl for BufWriter

    Fill the buffer more eagerly over consecutive calls
    to poll_write_vectored. At the first non-empty slice, the
    buffer is flushed if the slice does not fit completely,
    after which filling can continue until capacity is exhausted, or
    there is an oversized slice for direct writing,
    or there are no more slices to write.
    mzabaluev committed Nov 7, 2020
    Configuration menu
    Copy the full SHA
    ba29993 View commit details
    Browse the repository at this point in the history