Imported Upstream version 1.72.0
[platform/upstream/boost.git] / libs / beast / doc / html / beast / ref / boost__beast__http__parser / on_chunk_body.html
1 <html>
2 <head>
3 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
4 <title>http::parser::on_chunk_body</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&#160;1.&#160;Boost.Beast">
8 <link rel="up" href="../boost__beast__http__parser.html" title="http::parser">
9 <link rel="prev" href="need_eof.html" title="http::parser::need_eof">
10 <link rel="next" href="on_chunk_header.html" title="http::parser::on_chunk_header">
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="need_eof.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__parser.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="on_chunk_header.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__parser.on_chunk_body"></a><a class="link" href="on_chunk_body.html" title="http::parser::on_chunk_body">http::parser::on_chunk_body</a>
28 </h5></div></div></div>
29 <p>
30           <a class="indexterm" name="idm45873493520576"></a>
31 Set a callback to be invoked on chunk body data.
32         </p>
33 <h6>
34 <a name="beast.ref.boost__beast__http__parser.on_chunk_body.h0"></a>
35           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.on_chunk_body.synopsis"></a></span><a class="link" href="on_chunk_body.html#beast.ref.boost__beast__http__parser.on_chunk_body.synopsis">Synopsis</a>
36         </h6>
37 <pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
38     <span class="keyword">class</span> <span class="identifier">Callback</span><span class="special">&gt;</span>
39 <span class="keyword">void</span>
40 <span class="identifier">on_chunk_body</span><span class="special">(</span>
41     <span class="identifier">Callback</span><span class="special">&amp;</span> <span class="identifier">cb</span><span class="special">);</span>
42 </pre>
43 <h6>
44 <a name="beast.ref.boost__beast__http__parser.on_chunk_body.h1"></a>
45           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.on_chunk_body.description"></a></span><a class="link" href="on_chunk_body.html#beast.ref.boost__beast__http__parser.on_chunk_body.description">Description</a>
46         </h6>
47 <p>
48           The provided function object will be invoked one or more times to provide
49           buffers corresponding to the chunk body for the current chunk. The callback
50           receives the number of octets remaining in this chunk body including the
51           octets in the buffer provided. The callback must return the number of octets
52           actually consumed. Any octets not consumed will be presented again in a
53           subsequent invocation of the callback. The implementation type-erases the
54           callback without requiring a dynamic allocation. For this reason, the callback
55           object is passed by a non-constant reference.
56         </p>
57 <h6>
58 <a name="beast.ref.boost__beast__http__parser.on_chunk_body.h2"></a>
59           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.on_chunk_body.example"></a></span><a class="link" href="on_chunk_body.html#beast.ref.boost__beast__http__parser.on_chunk_body.example">Example</a>
60         </h6>
61 <pre class="programlisting"><span class="keyword">auto</span> <span class="identifier">callback</span> <span class="special">=</span>
62     <span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">uint64_t</span> <span class="identifier">remain</span><span class="special">,</span> <span class="identifier">string_view</span> <span class="identifier">body</span><span class="special">,</span> <span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">)</span>
63     <span class="special">{</span>
64         <span class="comment">//...</span>
65     <span class="special">};</span>
66 <span class="identifier">parser</span><span class="special">.</span><span class="identifier">on_chunk_body</span><span class="special">(</span><span class="identifier">callback</span><span class="special">);</span>
67 </pre>
68 <h6>
69 <a name="beast.ref.boost__beast__http__parser.on_chunk_body.h3"></a>
70           <span class="phrase"><a name="beast.ref.boost__beast__http__parser.on_chunk_body.parameters"></a></span><a class="link" href="on_chunk_body.html#beast.ref.boost__beast__http__parser.on_chunk_body.parameters">Parameters</a>
71         </h6>
72 <div class="informaltable"><table class="table">
73 <colgroup>
74 <col>
75 <col>
76 </colgroup>
77 <thead><tr>
78 <th>
79                   <p>
80                     Name
81                   </p>
82                 </th>
83 <th>
84                   <p>
85                     Description
86                   </p>
87                 </th>
88 </tr></thead>
89 <tbody><tr>
90 <td>
91                   <p>
92                     <code class="computeroutput"><span class="identifier">cb</span></code>
93                   </p>
94                 </td>
95 <td>
96                   <p>
97                     The function to set, which must be invocable with this equivalent
98                     signature:
99                   </p>
100 <pre xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="table-programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span>
101 <span class="identifier">on_chunk_header</span><span class="special">(</span>
102     <span class="identifier">std</span><span class="special">::</span><span class="identifier">uint64_t</span> <span class="identifier">remain</span><span class="special">,</span>       <span class="comment">// Octets remaining in this chunk, includes `body`</span>
103     <span class="identifier">string_view</span> <span class="identifier">body</span><span class="special">,</span>           <span class="comment">// A buffer holding some or all of the remainder of the chunk body</span>
104     <span class="identifier">error_code</span><span class="special">&amp;</span> <span class="identifier">ec</span><span class="special">);</span>            <span class="comment">// May be set by the callback to indicate an error</span>
105 </pre>
106                 </td>
107 </tr></tbody>
108 </table></div>
109 </div>
110 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
111 <td align="left"></td>
112 <td align="right"><div class="copyright-footer">Copyright &#169; 2016-2019 Vinnie
113       Falco<p>
114         Distributed under the Boost Software License, Version 1.0. (See accompanying
115         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>)
116       </p>
117 </div></td>
118 </tr></table>
119 <hr>
120 <div class="spirit-nav">
121 <a accesskey="p" href="need_eof.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../boost__beast__http__parser.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="on_chunk_header.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
122 </div>
123 </body>
124 </html>