diff options
Diffstat (limited to '3rdparty/asio/src/doc/overview/windows.qbk')
-rw-r--r-- | 3rdparty/asio/src/doc/overview/windows.qbk | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/3rdparty/asio/src/doc/overview/windows.qbk b/3rdparty/asio/src/doc/overview/windows.qbk deleted file mode 100644 index da49a0b409e..00000000000 --- a/3rdparty/asio/src/doc/overview/windows.qbk +++ /dev/null @@ -1,126 +0,0 @@ -[/ - / Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) - / - / Distributed under the Boost Software License, Version 1.0. (See accompanying - / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - /] - -[section:windows Windows-Specific Functionality] - -[link asio.overview.windows.stream_handle Stream-Oriented HANDLEs] - -[link asio.overview.windows.random_access_handle Random-Access HANDLEs] - -[link asio.overview.windows.object_handle Object HANDLEs] - -[section:stream_handle Stream-Oriented HANDLEs] - -Asio contains classes to allow asynchronous read and write operations to be -performed on Windows `HANDLE`s, such as named pipes. - -For example, to perform asynchronous operations on a named pipe, the following -object may be created: - - HANDLE handle = ::CreateFile(...); - windows::stream_handle pipe(my_io_context, handle); - -These are then used as synchronous or asynchronous read and write streams. This -means the objects can be used with any of the [link asio.reference.read -read()], [link asio.reference.async_read async_read()], [link -asio.reference.write write()], [link asio.reference.async_write -async_write()], [link asio.reference.read_until read_until()] or [link -asio.reference.async_read_until async_read_until()] free functions. - -The kernel object referred to by the `HANDLE` must support use with I/O -completion ports (which means that named pipes are supported, but anonymous -pipes and console streams are not). - -[heading See Also] - -[link asio.reference.windows__stream_handle windows::stream_handle]. - -[heading Notes] - -Windows stream `HANDLE`s are only available at compile time when targeting -Windows and only when the I/O completion port backend is used (which is the -default). A program may test for the macro `ASIO_HAS_WINDOWS_STREAM_HANDLE` to -determine whether they are supported. - -[endsect] - -[/-----------------------------------------------------------------------------] - -[section:random_access_handle Random-Access HANDLEs] - -Asio provides Windows-specific classes that permit asynchronous read and write -operations to be performed on HANDLEs that refer to regular files. - -For example, to perform asynchronous operations on a file the following object -may be created: - - HANDLE handle = ::CreateFile(...); - windows::random_access_handle file(my_io_context, handle); - -Data may be read from or written to the handle using one of the -`read_some_at()`, `async_read_some_at()`, `write_some_at()` or -`async_write_some_at()` member functions. However, like the equivalent -functions (`read_some()`, etc.) on streams, these functions are only required -to transfer one or more bytes in a single operation. Therefore free functions -called [link asio.reference.read_at read_at()], [link -asio.reference.async_read_at async_read_at()], [link asio.reference.write_at -write_at()] and [link asio.reference.async_write_at async_write_at()] have been -created to repeatedly call the corresponding [^[**]_some_at()] function until -all data has been transferred. - -[heading See Also] - -[link asio.reference.windows__random_access_handle windows::random_access_handle]. - -[heading Notes] - -Windows random-access `HANDLE`s are only available at compile time when -targeting Windows and only when the I/O completion port backend is used (which -is the default). A program may test for the macro -`ASIO_HAS_WINDOWS_RANDOM_ACCESS_HANDLE` to determine whether they are -supported. - -[endsect] - -[/-----------------------------------------------------------------------------] - -[section:object_handle Object HANDLEs] - -Asio provides Windows-specific classes that permit asynchronous wait operations -to be performed on HANDLEs to kernel objects of the following types: - -* Change notification -* Console input -* Event -* Memory resource notification -* Process -* Semaphore -* Thread -* Waitable timer - -For example, to perform asynchronous operations on an event, the following -object may be created: - - HANDLE handle = ::CreateEvent(...); - windows::object_handle file(my_io_context, handle); - -The `wait()` and `async_wait()` member functions may then be used to wait until -the kernel object is signalled. - -[heading See Also] - -[link asio.reference.windows__object_handle windows::object_handle]. - -[heading Notes] - -Windows object `HANDLE`s are only available at compile time when targeting -Windows. Programs may test for the macro `ASIO_HAS_WINDOWS_OBJECT_HANDLE` to -determine whether they are supported. - -[endsect] - -[endsect] |