3
<TITLE>asio Examples: services::stream_socket_service< Protocol >::receive_handler< Handler > Class Template Reference</TITLE>
4
<LINK HREF="asio.css" REL="stylesheet" TYPE="text/css">
5
<LINK HREF="tabs.css" REL="stylesheet" TYPE="text/css">
7
<BODY BGCOLOR="#FFFFFF">
9
<TABLE BORDER="0" WIDTH="100%">
15
<A CLASS="qindex" HREF="../index.html">Home</A> |
16
<A CLASS="qindex" HREF="../reference/index.html">Reference</A> |
17
<A CLASS="qindex" HREF="../tutorial/index.html">Tutorial</A> |
18
<A CLASS="qindex" HREF="../examples/index.html">Examples</A> |
19
<A CLASS="qindex" HREF="../design/index.html">Design</A>
25
<TABLE BORDER="0" WIDTH="100%">
35
<!-- Generated by Doxygen 1.5.1 -->
37
<a class="el" href="a00062.html">services</a>::<a class="el" href="a00020.html">stream_socket_service</a>::<a class="el" href="a00022.html">receive_handler</a></div>
38
<h1>services::stream_socket_service< Protocol >::receive_handler< Handler > Class Template Reference</h1><!-- doxytag: class="services::stream_socket_service::receive_handler" -->Collaboration diagram for services::stream_socket_service< Protocol >::receive_handler< Handler >:<p><center><img src="a00133.png" border="0" usemap="#a00134" alt="Collaboration graph"></center>
40
<area href="a00001.html" shape="rect" coords="177,138,478,298" alt="">
41
<area href="a00003.html" shape="rect" coords="236,8,420,88" alt="">
43
<a href="a00135.html">List of all members.</a><hr><a name="_details"></a><h2>Detailed Description</h2>
44
<h3>template<typename Protocol><br>
45
template<typename Handler><br>
46
class services::stream_socket_service< Protocol >::receive_handler< Handler ></h3>
48
Handler to wrap asynchronous receive completion.
52
Definition at line <a class="el" href="a00092.html#l00297">297</a> of file <a class="el" href="a00092.html">stream_socket_service.hpp</a>.<table border="0" cellpadding="0" cellspacing="0">
54
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
55
<tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#94b26fc1c94dfd3a981d38f634aa1127">receive_handler</a> (Handler h, <a class="el" href="a00001.html">logger</a> &l)</td></tr>
57
<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#ad46e5d5389de2817a29fdd6fd7b6ad2">operator()</a> (const <a class="elRef" doxygen="asio.doxytags:../reference/" href="../reference/a00030.html">asio::error_code</a> &e, std::size_t bytes_transferred)</td></tr>
59
<tr><td colspan="2"><br><h2>Private Attributes</h2></td></tr>
60
<tr><td class="memItemLeft" nowrap align="right" valign="top">Handler </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#2be0adb4aadfb86088f42ba9afbea323">handler_</a></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="a00001.html">logger</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="a00022.html#70416a0b6243a363c120cb1392bbcf16">logger_</a></td></tr>
65
<hr><h2>Constructor & Destructor Documentation</h2>
66
<a class="anchor" name="94b26fc1c94dfd3a981d38f634aa1127"></a><!-- doxytag: member="services::stream_socket_service::receive_handler::receive_handler" ref="94b26fc1c94dfd3a981d38f634aa1127" args="(Handler h, logger &l)" -->
68
<div class="memproto">
69
<div class="memtemplate">
70
template<typename Protocol> </div>
71
<div class="memtemplate">
72
template<typename Handler> </div>
73
<table class="memname">
75
<td class="memname"><a class="el" href="a00020.html">services::stream_socket_service</a>< Protocol >::<a class="el" href="a00022.html">receive_handler</a>< Handler >::<a class="el" href="a00022.html">receive_handler</a> </td>
77
<td class="paramtype">Handler </td>
78
<td class="paramname"> <em>h</em>, </td>
81
<td class="paramkey"></td>
83
<td class="paramtype"><a class="el" href="a00001.html">logger</a> & </td>
84
<td class="paramname"> <em>l</em></td><td> </td>
89
<td></td><td></td><td width="100%"></td>
98
Definition at line <a class="el" href="a00092.html#l00300">300</a> of file <a class="el" href="a00092.html">stream_socket_service.hpp</a>.<div class="fragment"><pre class="fragment"><a name="l00301"></a>00301 : <a class="code" href="a00022.html#2be0adb4aadfb86088f42ba9afbea323">handler_</a>(h),
99
<a name="l00302"></a>00302 <a class="code" href="a00022.html#70416a0b6243a363c120cb1392bbcf16">logger_</a>(l)
100
<a name="l00303"></a>00303 {
101
<a name="l00304"></a>00304 }
107
<hr><h2>Member Function Documentation</h2>
108
<a class="anchor" name="ad46e5d5389de2817a29fdd6fd7b6ad2"></a><!-- doxytag: member="services::stream_socket_service::receive_handler::operator()" ref="ad46e5d5389de2817a29fdd6fd7b6ad2" args="(const asio::error_code &e, std::size_t bytes_transferred)" -->
109
<div class="memitem">
110
<div class="memproto">
111
<div class="memtemplate">
112
template<typename Protocol> </div>
113
<div class="memtemplate">
114
template<typename Handler> </div>
115
<table class="memname">
117
<td class="memname">void <a class="el" href="a00020.html">services::stream_socket_service</a>< Protocol >::<a class="el" href="a00022.html">receive_handler</a>< Handler >::operator() </td>
119
<td class="paramtype">const <a class="elRef" doxygen="asio.doxytags:../reference/" href="../reference/a00030.html">asio::error_code</a> & </td>
120
<td class="paramname"> <em>e</em>, </td>
123
<td class="paramkey"></td>
125
<td class="paramtype">std::size_t </td>
126
<td class="paramname"> <em>bytes_transferred</em></td><td> </td>
131
<td></td><td></td><td width="100%"></td>
140
Definition at line <a class="el" href="a00092.html#l00306">306</a> of file <a class="el" href="a00092.html">stream_socket_service.hpp</a>.<div class="fragment"><pre class="fragment"><a name="l00308"></a>00308 {
141
<a name="l00309"></a>00309 <span class="keywordflow">if</span> (e)
142
<a name="l00310"></a>00310 {
143
<a name="l00311"></a>00311 std::string msg = <span class="stringliteral">"Asynchronous receive failed: "</span>;
144
<a name="l00312"></a>00312 msg += e.message();
145
<a name="l00313"></a>00313 <a class="code" href="a00022.html#70416a0b6243a363c120cb1392bbcf16">logger_</a>.log(msg);
146
<a name="l00314"></a>00314 }
147
<a name="l00315"></a>00315 <span class="keywordflow">else</span>
148
<a name="l00316"></a>00316 {
149
<a name="l00317"></a>00317 <a class="code" href="a00022.html#70416a0b6243a363c120cb1392bbcf16">logger_</a>.log(<span class="stringliteral">"Asynchronous receive succeeded"</span>);
150
<a name="l00318"></a>00318 }
151
<a name="l00319"></a>00319
152
<a name="l00320"></a>00320 <a class="code" href="a00022.html#2be0adb4aadfb86088f42ba9afbea323">handler_</a>(e, bytes_transferred);
153
<a name="l00321"></a>00321 }
159
<hr><h2>Member Data Documentation</h2>
160
<a class="anchor" name="2be0adb4aadfb86088f42ba9afbea323"></a><!-- doxytag: member="services::stream_socket_service::receive_handler::handler_" ref="2be0adb4aadfb86088f42ba9afbea323" args="" -->
161
<div class="memitem">
162
<div class="memproto">
163
<div class="memtemplate">
164
template<typename Protocol> </div>
165
<div class="memtemplate">
166
template<typename Handler> </div>
167
<table class="memname">
169
<td class="memname">Handler <a class="el" href="a00020.html">services::stream_socket_service</a>< Protocol >::<a class="el" href="a00022.html">receive_handler</a>< Handler >::<a class="el" href="a00022.html#2be0adb4aadfb86088f42ba9afbea323">handler_</a><code> [private]</code> </td>
178
Definition at line <a class="el" href="a00092.html#l00324">324</a> of file <a class="el" href="a00092.html">stream_socket_service.hpp</a>.
180
Referenced by <a class="el" href="a00092.html#l00306">services::stream_socket_service< Protocol >::receive_handler< Handler >::operator()()</a>.
183
<a class="anchor" name="70416a0b6243a363c120cb1392bbcf16"></a><!-- doxytag: member="services::stream_socket_service::receive_handler::logger_" ref="70416a0b6243a363c120cb1392bbcf16" args="" -->
184
<div class="memitem">
185
<div class="memproto">
186
<div class="memtemplate">
187
template<typename Protocol> </div>
188
<div class="memtemplate">
189
template<typename Handler> </div>
190
<table class="memname">
192
<td class="memname"><a class="el" href="a00001.html">logger</a>& <a class="el" href="a00020.html">services::stream_socket_service</a>< Protocol >::<a class="el" href="a00022.html">receive_handler</a>< Handler >::<a class="el" href="a00022.html#70416a0b6243a363c120cb1392bbcf16">logger_</a><code> [private]</code> </td>
201
Definition at line <a class="el" href="a00092.html#l00325">325</a> of file <a class="el" href="a00092.html">stream_socket_service.hpp</a>.
203
Referenced by <a class="el" href="a00092.html#l00306">services::stream_socket_service< Protocol >::receive_handler< Handler >::operator()()</a>.
206
<hr>The documentation for this class was generated from the following file:<ul>
207
<li>services/<a class="el" href="a00092.html">stream_socket_service.hpp</a></ul>
209
<TABLE BORDER="0" WIDTH="100%">
215
<A CLASS="qindex" HREF="../index.html">Home</A> |
216
<A CLASS="qindex" HREF="../reference/index.html">Reference</A> |
217
<A CLASS="qindex" HREF="../tutorial/index.html">Tutorial</A> |
218
<A CLASS="qindex" HREF="../examples/index.html">Examples</A> |
219
<A CLASS="qindex" HREF="../design/index.html">Design</A>