Beispiel #1
0
  /**
   * Executes the read operation.
   *
   * @param session Internal CurveCP session reference
   * @param ec Output error code
   * @param bytes_transferred Output number of bytes transferred
   * @return Whether the operation should be retried
   */
  session::want operator()(session &session,
                           boost::system::error_code &ec,
                           std::size_t &bytes_transferred) const
  {
    boost::asio::mutable_buffer buffer =
      boost::asio::detail::buffer_sequence_adapter<boost::asio::mutable_buffer,
        MutableBufferSequence>::first(buffers_);

    return session.read(buffer, ec, bytes_transferred) ? session::want::nothing : session::want::read;
  }