<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>posix::basic_stream_descriptor::read_some (1 of 2 overloads)</title>
<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../../../boost_asio.html" title="Boost.Asio">
<link rel="up" href="../read_some.html" title="posix::basic_stream_descriptor::read_some">
<link rel="prev" href="../read_some.html" title="posix::basic_stream_descriptor::read_some">
<link rel="next" href="overload2.html" title="posix::basic_stream_descriptor::read_some (2 of 2 overloads)">
</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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.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="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h5 class="title">
<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1"></a><a class="link" href="overload1.html" title="posix::basic_stream_descriptor::read_some (1 of 2 overloads)">posix::basic_stream_descriptor::read_some
          (1 of 2 overloads)</a>
</h5></div></div></div>
<p>
            Read some data from the descriptor.
          </p>
<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
    <span class="keyword">typename</span> <a class="link" href="../../MutableBufferSequence.html" title="Mutable buffer sequence requirements">MutableBufferSequence</a><span class="special">&gt;</span>
<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> <span class="identifier">read_some</span><span class="special">(</span>
    <span class="keyword">const</span> <span class="identifier">MutableBufferSequence</span> <span class="special">&amp;</span> <span class="identifier">buffers</span><span class="special">);</span>
</pre>
<p>
            This function is used to read data from the stream descriptor. The function
            call will block until one or more bytes of data has been read successfully,
            or until an error occurs.
          </p>
<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.parameters"></a><h6>
<a name="id1271167"></a>
            <a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.parameters">Parameters</a>
          </h6>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<dt><span class="term">buffers</span></dt>
<dd><p>
                  One or more buffers into which the data will be read.
                </p></dd>
</dl>
</div>
<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.return_value"></a><h6>
<a name="id1271211"></a>
            <a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.return_value">Return
            Value</a>
          </h6>
<p>
            The number of bytes read.
          </p>
<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.exceptions"></a><h6>
<a name="id1271240"></a>
            <a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.exceptions">Exceptions</a>
          </h6>
<div class="variablelist">
<p class="title"><b></b></p>
<dl>
<dt><span class="term">boost::system::system_error</span></dt>
<dd><p>
                  Thrown on failure. An error code of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">error</span><span class="special">::</span><span class="identifier">eof</span></code>
                  indicates that the connection was closed by the peer.
                </p></dd>
</dl>
</div>
<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.remarks"></a><h6>
<a name="id1271321"></a>
            <a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.remarks">Remarks</a>
          </h6>
<p>
            The read_some operation may not read all of the requested number of bytes.
            Consider using the <a class="link" href="../../read.html" title="read"><code class="computeroutput"><span class="identifier">read</span></code></a> function if you need to
            ensure that the requested amount of data is read before the blocking
            operation completes.
          </p>
<a name="boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.example"></a><h6>
<a name="id1271367"></a>
            <a class="link" href="overload1.html#boost_asio.reference.posix__basic_stream_descriptor.read_some.overload1.example">Example</a>
          </h6>
<p>
            To read into a single data buffer use the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a> function as follows:
          </p>
<pre class="programlisting"><span class="identifier">descriptor</span><span class="special">.</span><span class="identifier">read_some</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">asio</span><span class="special">::</span><span class="identifier">buffer</span><span class="special">(</span><span class="identifier">data</span><span class="special">,</span> <span class="identifier">size</span><span class="special">));</span>
</pre>
<p>
            See the <a class="link" href="../../buffer.html" title="buffer"><code class="computeroutput"><span class="identifier">buffer</span></code></a>
            documentation for information on reading into multiple buffers in one
            go, and how to use it with arrays, boost::array or std::vector.
          </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 &#169; 2003 - 2010 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="../read_some.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../read_some.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="overload2.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>
