boost/doc/html/boost_asio/reference/posix__stream_descriptor.html
2021-10-05 21:37:46 +02:00

443 lines
17 KiB
HTML

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>posix::stream_descriptor</title>
<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../reference.html" title="Reference">
<link rel="prev" href="posix__descriptor_base/_descriptor_base.html" title="posix::descriptor_base::~descriptor_base">
<link rel="next" href="post.html" title="post">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../boost.png"></td>
<td align="center"><a href="../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="posix__descriptor_base/_descriptor_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="boost_asio.reference.posix__stream_descriptor"></a><a class="link" href="posix__stream_descriptor.html" title="posix::stream_descriptor">posix::stream_descriptor</a>
</h3></div></div></div>
<p>
<a class="indexterm" name="boost_asio.indexterm.posix__stream_descriptor"></a>
Typedef
for the typical usage of a stream-oriented descriptor.
</p>
<pre class="programlisting">typedef basic_stream_descriptor stream_descriptor;
</pre>
<h5>
<a name="boost_asio.reference.posix__stream_descriptor.h0"></a>
<span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.types"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.types">Types</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Name
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor__rebind_executor.html" title="posix::basic_stream_descriptor::rebind_executor"><span class="bold"><strong>rebind_executor</strong></span></a>
</p>
</td>
<td>
<p>
Rebinds the descriptor type to another executor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/bytes_readable.html" title="posix::basic_stream_descriptor::bytes_readable"><span class="bold"><strong>bytes_readable</strong></span></a>
</p>
</td>
<td>
<p>
IO control command to get the amount of data that can be read without
blocking.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/executor_type.html" title="posix::basic_stream_descriptor::executor_type"><span class="bold"><strong>executor_type</strong></span></a>
</p>
</td>
<td>
<p>
The type of the executor associated with the object.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/lowest_layer_type.html" title="posix::basic_stream_descriptor::lowest_layer_type"><span class="bold"><strong>lowest_layer_type</strong></span></a>
</p>
</td>
<td>
<p>
A descriptor is always the lowest layer.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/native_handle_type.html" title="posix::basic_stream_descriptor::native_handle_type"><span class="bold"><strong>native_handle_type</strong></span></a>
</p>
</td>
<td>
<p>
The native representation of a descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/wait_type.html" title="posix::basic_stream_descriptor::wait_type"><span class="bold"><strong>wait_type</strong></span></a>
</p>
</td>
<td>
<p>
Wait types.
</p>
</td>
</tr>
</tbody>
</table></div>
<h5>
<a name="boost_asio.reference.posix__stream_descriptor.h1"></a>
<span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.member_functions"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.member_functions">Member
Functions</a>
</h5>
<div class="informaltable"><table class="table">
<colgroup>
<col>
<col>
</colgroup>
<thead><tr>
<th>
<p>
Name
</p>
</th>
<th>
<p>
Description
</p>
</th>
</tr></thead>
<tbody>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/assign.html" title="posix::basic_stream_descriptor::assign"><span class="bold"><strong>assign</strong></span></a>
</p>
</td>
<td>
<p>
Assign an existing native descriptor to the descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/async_read_some.html" title="posix::basic_stream_descriptor::async_read_some"><span class="bold"><strong>async_read_some</strong></span></a>
</p>
</td>
<td>
<p>
Start an asynchronous read.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/async_wait.html" title="posix::basic_stream_descriptor::async_wait"><span class="bold"><strong>async_wait</strong></span></a>
</p>
</td>
<td>
<p>
Asynchronously wait for the descriptor to become ready to read,
ready to write, or to have pending error conditions.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/async_write_some.html" title="posix::basic_stream_descriptor::async_write_some"><span class="bold"><strong>async_write_some</strong></span></a>
</p>
</td>
<td>
<p>
Start an asynchronous write.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/basic_stream_descriptor.html" title="posix::basic_stream_descriptor::basic_stream_descriptor"><span class="bold"><strong>basic_stream_descriptor</strong></span></a> <span class="silver">[constructor]</span>
</p>
</td>
<td>
<p>
Construct a stream descriptor without opening it. <br> <span class="silver"></span><br>
Construct a stream descriptor on an existing native descriptor.
<br> <span class="silver"></span><br> Move-construct a stream descriptor from another.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/cancel.html" title="posix::basic_stream_descriptor::cancel"><span class="bold"><strong>cancel</strong></span></a>
</p>
</td>
<td>
<p>
Cancel all asynchronous operations associated with the descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/close.html" title="posix::basic_stream_descriptor::close"><span class="bold"><strong>close</strong></span></a>
</p>
</td>
<td>
<p>
Close the descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/get_executor.html" title="posix::basic_stream_descriptor::get_executor"><span class="bold"><strong>get_executor</strong></span></a>
</p>
</td>
<td>
<p>
Get the executor associated with the object.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/io_control.html" title="posix::basic_stream_descriptor::io_control"><span class="bold"><strong>io_control</strong></span></a>
</p>
</td>
<td>
<p>
Perform an IO control command on the descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/is_open.html" title="posix::basic_stream_descriptor::is_open"><span class="bold"><strong>is_open</strong></span></a>
</p>
</td>
<td>
<p>
Determine whether the descriptor is open.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/lowest_layer.html" title="posix::basic_stream_descriptor::lowest_layer"><span class="bold"><strong>lowest_layer</strong></span></a>
</p>
</td>
<td>
<p>
Get a reference to the lowest layer. <br> <span class="silver"></span><br> Get a const
reference to the lowest layer.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/native_handle.html" title="posix::basic_stream_descriptor::native_handle"><span class="bold"><strong>native_handle</strong></span></a>
</p>
</td>
<td>
<p>
Get the native descriptor representation.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/native_non_blocking.html" title="posix::basic_stream_descriptor::native_non_blocking"><span class="bold"><strong>native_non_blocking</strong></span></a>
</p>
</td>
<td>
<p>
Gets the non-blocking mode of the native descriptor implementation.
<br> <span class="silver"></span><br> Sets the non-blocking mode of the native descriptor
implementation.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/non_blocking.html" title="posix::basic_stream_descriptor::non_blocking"><span class="bold"><strong>non_blocking</strong></span></a>
</p>
</td>
<td>
<p>
Gets the non-blocking mode of the descriptor. <br> <span class="silver"></span><br> Sets
the non-blocking mode of the descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/operator_eq_.html" title="posix::basic_stream_descriptor::operator="><span class="bold"><strong>operator=</strong></span></a>
</p>
</td>
<td>
<p>
Move-assign a stream descriptor from another.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/read_some.html" title="posix::basic_stream_descriptor::read_some"><span class="bold"><strong>read_some</strong></span></a>
</p>
</td>
<td>
<p>
Read some data from the descriptor.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/release.html" title="posix::basic_stream_descriptor::release"><span class="bold"><strong>release</strong></span></a>
</p>
</td>
<td>
<p>
Release ownership of the native descriptor implementation.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/wait.html" title="posix::basic_stream_descriptor::wait"><span class="bold"><strong>wait</strong></span></a>
</p>
</td>
<td>
<p>
Wait for the descriptor to become ready to read, ready to write,
or to have pending error conditions.
</p>
</td>
</tr>
<tr>
<td>
<p>
<a class="link" href="posix__basic_stream_descriptor/write_some.html" title="posix::basic_stream_descriptor::write_some"><span class="bold"><strong>write_some</strong></span></a>
</p>
</td>
<td>
<p>
Write some data to the descriptor.
</p>
</td>
</tr>
</tbody>
</table></div>
<p>
The <a class="link" href="posix__basic_stream_descriptor.html" title="posix::basic_stream_descriptor"><code class="computeroutput">posix::basic_stream_descriptor</code></a>
class template provides asynchronous and blocking stream-oriented descriptor
functionality.
</p>
<h5>
<a name="boost_asio.reference.posix__stream_descriptor.h2"></a>
<span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.thread_safety"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.thread_safety">Thread
Safety</a>
</h5>
<p>
<span class="emphasis"><em>Distinct</em></span> <span class="emphasis"><em>objects:</em></span> Safe.
</p>
<p>
<span class="emphasis"><em>Shared</em></span> <span class="emphasis"><em>objects:</em></span> Unsafe.
</p>
<p>
Synchronous <code class="computeroutput">read_some</code> and <code class="computeroutput">write_some</code> operations
are thread safe with respect to each other, if the underlying operating system
calls are also thread safe. This means that it is permitted to perform concurrent
calls to these synchronous operations on a single descriptor object. Other
synchronous operations, such as <code class="computeroutput">close</code>, are not thread safe.
</p>
<h5>
<a name="boost_asio.reference.posix__stream_descriptor.h3"></a>
<span class="phrase"><a name="boost_asio.reference.posix__stream_descriptor.requirements"></a></span><a class="link" href="posix__stream_descriptor.html#boost_asio.reference.posix__stream_descriptor.requirements">Requirements</a>
</h5>
<p>
<span class="emphasis"><em>Header: </em></span><code class="literal">boost/asio/posix/stream_descriptor.hpp</code>
</p>
<p>
<span class="emphasis"><em>Convenience header: </em></span><code class="literal">boost/asio.hpp</code>
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright © 2003-2021 Christopher
M. Kohlhoff<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="posix__descriptor_base/_descriptor_base.html"><img src="../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../boost_asio.html"><img src="../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="post.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>