asynchronous_socket_operations.qbk 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. [/
  2. / Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
  3. /
  4. / Distributed under the Boost Software License, Version 1.0. (See accompanying
  5. / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  6. /]
  7. [section:asynchronous_socket_operations Requirements on asynchronous socket operations]
  8. In this library, ['asynchronous socket operations] are those member functions
  9. having prefix `async_`.
  10. For an object `s`, a program may initiate asynchronous socket operations such
  11. that there are multiple simultaneously outstanding asynchronous operations.
  12. When there are multiple outstanding asynchronous [link
  13. boost_asio.reference.read_write_operations read operations] on `s`:
  14. [mdash] having no argument `flags` of type `socket_base::message_flags`, or
  15. [mdash] having an argument `flags` of type `socket_base::message_flags` but
  16. where `(flags & socket_base::message_out_of_band) == 0`
  17. then the `buffers` are filled in the order in which these operations were
  18. issued. The order of invocation of the completion handlers for these operations
  19. is unspecified.
  20. When there are multiple outstanding asynchronous [link
  21. boost_asio.reference.read_write_operations read operations] on `s` having an argument
  22. `flags` of type `socket_base::message_flags` where `(flags &
  23. socket_base::message_out_of_band) != 0` then the `buffers` are filled in the
  24. order in which these operations were issued.
  25. When there are multiple outstanding asynchronous [link
  26. boost_asio.reference.read_write_operations write operations] on `s`, the `buffers`
  27. are transmitted in the order in which these operations were issued. The order
  28. of invocation of the completion handlers for these operations is unspecified.
  29. [endsect]