1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>http::write_some (1 of 2 overloads)</title> 5<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../../../index.html" title="Chapter 1. Boost.Beast"> 8<link rel="up" href="../boost__beast__http__write_some.html" title="http::write_some"> 9<link rel="prev" href="../boost__beast__http__write_some.html" title="http::write_some"> 10<link rel="next" href="overload2.html" title="http::write_some (2 of 2 overloads)"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="../boost__beast__http__write_some.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__write_some.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.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> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h5 class="title"> 27<a name="beast.ref.boost__beast__http__write_some.overload1"></a><a class="link" href="overload1.html" title="http::write_some (1 of 2 overloads)">http::write_some 28 (1 of 2 overloads)</a> 29</h5></div></div></div> 30<p> 31 Write part of a message to a stream using a serializer. 32 </p> 33<h6> 34<a name="beast.ref.boost__beast__http__write_some.overload1.h0"></a> 35 <span class="phrase"><a name="beast.ref.boost__beast__http__write_some.overload1.synopsis"></a></span><a class="link" href="overload1.html#beast.ref.boost__beast__http__write_some.overload1.synopsis">Synopsis</a> 36 </h6> 37<p> 38 Defined in header <code class="literal"><<a href="../../../../../../../boost/beast/http/write.hpp" target="_top">boost/beast/http/write.hpp</a>></code> 39 </p> 40<pre class="programlisting"><span class="keyword">template</span><span class="special"><</span> 41 <span class="keyword">class</span> <a href="../../../../../../../doc/html/boost_asio/reference/SyncWriteStream.html" target="_top"><span class="emphasis"><em>SyncWriteStream</em></span></a><span class="special">,</span> 42 <span class="keyword">bool</span> <span class="identifier">isRequest</span><span class="special">,</span> 43 <span class="keyword">class</span> <a class="link" href="../../concepts/Body.html" title="Body"><span class="emphasis"><em>Body</em></span></a><span class="special">,</span> 44 <span class="keyword">class</span> <a class="link" href="../../concepts/Fields.html" title="Fields"><span class="emphasis"><em>Fields</em></span></a><span class="special">></span> 45<span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span> 46<span class="identifier">write_some</span><span class="special">(</span> 47 <span class="identifier">SyncWriteStream</span><span class="special">&</span> <span class="identifier">stream</span><span class="special">,</span> 48 <span class="identifier">serializer</span><span class="special"><</span> <span class="identifier">isRequest</span><span class="special">,</span> <span class="identifier">Body</span><span class="special">,</span> <span class="identifier">Fields</span> <span class="special">>&</span> <span class="identifier">sr</span><span class="special">);</span> 49</pre> 50<h6> 51<a name="beast.ref.boost__beast__http__write_some.overload1.h1"></a> 52 <span class="phrase"><a name="beast.ref.boost__beast__http__write_some.overload1.description"></a></span><a class="link" href="overload1.html#beast.ref.boost__beast__http__write_some.overload1.description">Description</a> 53 </h6> 54<p> 55 This function is used to write part of a message to a stream using a caller-provided 56 HTTP/1 serializer. The call will block until one of the following conditions 57 is true: 58 </p> 59<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "> 60<li class="listitem"> 61 One or more bytes have been transferred. 62 </li> 63<li class="listitem"> 64 The function <a class="link" href="../boost__beast__http__serializer/is_done.html" title="http::serializer::is_done"><code class="computeroutput"><span class="identifier">serializer</span><span class="special">::</span><span class="identifier">is_done</span></code></a> returns <code class="computeroutput"><span class="keyword">true</span></code> 65 </li> 66<li class="listitem"> 67 An error occurs on the stream. 68 </li> 69</ul></div> 70<p> 71 This operation is implemented in terms of one or more calls to the stream's 72 <code class="computeroutput"><span class="identifier">write_some</span></code> function. The 73 amount of data actually transferred is controlled by the behavior of the 74 underlying stream, subject to the buffer size limit of the serializer obtained 75 or set through a call to <a class="link" href="../boost__beast__http__serializer/limit/overload1.html" title="http::serializer::limit (1 of 2 overloads)"><code class="computeroutput"><span class="identifier">serializer</span><span class="special">::</span><span class="identifier">limit</span></code></a>. Setting a limit and performing 76 bounded work helps applications set reasonable timeouts. It also allows 77 application-level flow control to function correctly. For example when 78 using a TCP/IP based stream. 79 </p> 80<h6> 81<a name="beast.ref.boost__beast__http__write_some.overload1.h2"></a> 82 <span class="phrase"><a name="beast.ref.boost__beast__http__write_some.overload1.parameters"></a></span><a class="link" href="overload1.html#beast.ref.boost__beast__http__write_some.overload1.parameters">Parameters</a> 83 </h6> 84<div class="informaltable"><table class="table"> 85<colgroup> 86<col> 87<col> 88</colgroup> 89<thead><tr> 90<th> 91 <p> 92 Name 93 </p> 94 </th> 95<th> 96 <p> 97 Description 98 </p> 99 </th> 100</tr></thead> 101<tbody> 102<tr> 103<td> 104 <p> 105 <code class="computeroutput"><span class="identifier">stream</span></code> 106 </p> 107 </td> 108<td> 109 <p> 110 The stream to which the data is to be written. The type must 111 support the <span class="emphasis"><em>SyncWriteStream</em></span> concept. 112 </p> 113 </td> 114</tr> 115<tr> 116<td> 117 <p> 118 <code class="computeroutput"><span class="identifier">sr</span></code> 119 </p> 120 </td> 121<td> 122 <p> 123 The serializer to use. 124 </p> 125 </td> 126</tr> 127</tbody> 128</table></div> 129<h6> 130<a name="beast.ref.boost__beast__http__write_some.overload1.h3"></a> 131 <span class="phrase"><a name="beast.ref.boost__beast__http__write_some.overload1.return_value"></a></span><a class="link" href="overload1.html#beast.ref.boost__beast__http__write_some.overload1.return_value">Return 132 Value</a> 133 </h6> 134<p> 135 The number of bytes written to the stream. 136 </p> 137<h6> 138<a name="beast.ref.boost__beast__http__write_some.overload1.h4"></a> 139 <span class="phrase"><a name="beast.ref.boost__beast__http__write_some.overload1.exceptions"></a></span><a class="link" href="overload1.html#beast.ref.boost__beast__http__write_some.overload1.exceptions">Exceptions</a> 140 </h6> 141<div class="informaltable"><table class="table"> 142<colgroup> 143<col> 144<col> 145</colgroup> 146<thead><tr> 147<th> 148 <p> 149 Type 150 </p> 151 </th> 152<th> 153 <p> 154 Thrown On 155 </p> 156 </th> 157</tr></thead> 158<tbody><tr> 159<td> 160 <p> 161 <code class="computeroutput"><span class="identifier">system_error</span></code> 162 </p> 163 </td> 164<td> 165 <p> 166 Thrown on failure. 167 </p> 168 </td> 169</tr></tbody> 170</table></div> 171<h6> 172<a name="beast.ref.boost__beast__http__write_some.overload1.h5"></a> 173 <span class="phrase"><a name="beast.ref.boost__beast__http__write_some.overload1.see_also"></a></span><a class="link" href="overload1.html#beast.ref.boost__beast__http__write_some.overload1.see_also">See 174 Also</a> 175 </h6> 176<p> 177 <a class="link" href="../boost__beast__http__serializer.html" title="http::serializer"><code class="computeroutput"><span class="identifier">serializer</span></code></a> 178 </p> 179</div> 180<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 181<td align="left"></td> 182<td align="right"><div class="copyright-footer">Copyright © 2016-2019 Vinnie 183 Falco<p> 184 Distributed under the Boost Software License, Version 1.0. (See accompanying 185 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>) 186 </p> 187</div></td> 188</tr></table> 189<hr> 190<div class="spirit-nav"> 191<a accesskey="p" href="../boost__beast__http__write_some.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__write_some.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.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> 192</div> 193</body> 194</html> 195